Twilio出站呼叫将数据传回网站。

时间:2016-02-16 05:37:18

标签: asp.net twilio

我对Twilio来说比较新,虽然它看起来像是一个很棒的应用程序!

基本上我需要完成的是:

我有一个.net应用程序,它会生成一个拨出电话并提示该人输入数字 - 如何将该输入(当然只是数字)返回到我的.aspx页面以进一步处理它?例如,如果它说“输入你的年龄”,那么我希望.aspx页面在标签中显示他们的年龄。

我目前在页面上有一个按钮发送到运行twiml代码的.ashx文件,该文件以

结尾
    context.Response.Write(twiml.ToString());
    context.Response.End();`

,类型为“text / xml”

也许我是愚蠢的,完全忽视了这一点,但我不能为我的生活弄清楚如何实现这一目标。

提前非常感谢你!

席德

1 个答案:

答案 0 :(得分:0)

Twilio开发者传道者在这里。

您正在寻找的是Gather动词。通过它,您可以获得呼叫中输入的数字。因此,当调用进来时,您可以返回TwiML:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Gather timeout="10" finishOnKey="*">
        <Say>Please enter your pin number and then press star.</Say>
    </Gather>
</Response>

如果您希望该信息到达您的服务器,您可以使用以下操作:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Gather action="/process_gather.aspx" method="GET">
        <Say>
            Please enter your age and press star on your keypad.
        </Say>
    </Gather>
    <Say>We didn't receive any input. Goodbye!</Say>
</Response>

然后Twilio会向你的服务器发出一个POST请求,并且你可以随意做任何事情。

在.NET MVC中生成TwiML可以完成如下:

public ActionResult MainMenu()
{
    var response = new TwilioResponse();

    response.BeginGather(new {
    action = "/process_gather.aspx", numDigits = "2" });
    response.Say("Please enter your age");
    response.EndGather();
    response.Hangup();

    return TwiML(response);
}

另外,请看一下这个blog post来阅读使用Twilio的.NET中的调用流程。

希望能帮到你