【问题标题】:Twilio action in Dial method not working, C#Dial 方法中的 Twilio 操作不起作用,C#
【发布时间】:2014-10-25 06:06:26
【问题描述】:

我在使用带有 C# 的 Twilio 时遇到了一个小问题。基本上,我在调用 .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数据注解,因为拨号方法中默认的method属性设置为POST

我需要知道电话是否被接听,或者是否占线。

【问题讨论】:

    标签: c# twilio twilio-twiml


    【解决方案1】:

    注意:此问题已由 Twilio 的一位特工回答。我告诉他他应该在这里发布答案,但他没有 SO 帐户,

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

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

    在这个测试场景中永远不会被触发,因为当 timeout 发生时,状态是“no-answer”,在这里指定:https://www.twilio.com/docs/api/twiml/dial

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多