拨号方法中的Twilio操作无法正常工作,C#

时间:2014-09-01 03:46:48

标签: c# twilio twiml

我在使用Twilio和C#时遇到了一个小问题。基本上,我在调用.Dial方法后无法控制调用。

考虑到我有以下代码:

   TwilioResponse _twiml = new TwilioResponse();
   _twiml.Dial(RedirectPhoneNumner, new { action = Url.Action("BusyCallAction"), timeout = 5 });`

以下内容将在我的应用程序中呈现:

<Response>
<Dial action="/Home/BusyCallAction" timeout="5">*RedirectPhoneNumber*</Dial>
</Response>

出于测试目的,我添加了 5秒的超时时间。 超时过后,呼叫结束,而不是将用户重定向到以下控制器:

[HttpPost]
public ActionResult BusyCallAction(string dialCallStatus)
    {
        if (dialCallStatus == "busy")
        {
            _twiml.Say(dialCallStatus);
            //more code here
        }
        return TwiML(_twiml);
    }

注意:该方法具有HttpPost数据注释,因为dial方法中的默认方法属性设置为 POST

我需要知道电话是否已被接听,或是否正忙。

1 个答案:

答案 0 :(得分:3)

注意:Twilio的代理人之一回答了这个问题。我告诉他他应该在这里发布答案,但他没有SO账户,

解决方案确实很简单,代码按预期工作,但条件

if (dialCallStatus == "busy")
        {
            _twiml.Say(dialCallStatus);
            //more code here
        }

在此测试方案中永远不会触发,因为当超时发生时,状态为&#34; 无应答&#34;,如此处所指定:https://www.twilio.com/docs/api/twiml/dial

希望这个答案可以帮助任何处于同样情况的人。