我正在使用twilio进行调用。我正在使用ASP.NET MVC创建响应并收集输入
Q1:如何为动词
指定lang,voice,loop,pause属性等属性 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 )转发给“收集”操作的方法。
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);
}
请您提供处理此案的方法。
答案 0 :(得分: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();
希望有所帮助。