0

我正在使用 twilio 进行调用。我正在使用 ASP.NET MVC 创建响应并收集输入

Q1:如何为动词指定语言、语音、循环、暂停属性等属性

 public ActionResult Welcome(string msg) {
  var response = new TwilioResponse();
  response.Say("This is a Sample Message");
  return TwiML(response);
 }

Q2:我正在使用 Gather 输入选项,例如 a)按 1 重复消息。b) 按 2 确认。c)按 3 重复菜单选项 我无法找到将消息参数 ( msg ) 转发到 Gather 操作的方法。

 public ActionResult WelcomeCall(string msg)      
 {
     var response = new TwilioResponse();
     response.BeginGather(new
        {
            action = "http://testurl.azurewebsites.net/Gather",
            Digits = "1"
        });
     response.Say(msg);
     response.Say("To repeat the message, press one");
     response.Say("To confirm, press two");
     response.Say("To repeat the menu options, press three");
     response.EndGather();
     return TwiML(response);
  }

  public ActionResult Gather(string Digits) 
  {
      var response = new TwilioResponse();
      if(Digits==1) 
      {
         response.Say(msg);
      }
      return TwiML(response);
   }

您能否提供一种处理这种情况的方法。

4

1 回答 1

1

Twilio 布道者在这里。

Say方法(以及大多数 TwiML 方法)具有第二个参数,该参数采用匿名类型,允许您指定动词属性:

response.Say("This is a Sample Message", new { voice="alice", loop="2" } );

要将消息传递给 Gather 处理程序,您只需将其附加到操作 URL:

response.BeginGather(new
{
    action = "http://testurl.azurewebsites.net/Gather?msg=" + msg,
    Digits = "1"
});
response.EndGather();

希望有帮助。

于 2015-01-13T16:18:06.400 回答