Действие Twilio в методе Dial не работает, С#

Я столкнулся с небольшой проблемой при использовании 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, так как для атрибута method по умолчанию в методе набора установлено значение POST.

Мне нужно знать, ответили ли на звонок или он был занят.


person RainierMallol    schedule 01.09.2014    source источник


Ответы (1)


ПРИМЕЧАНИЕ. На этот вопрос ответил один из агентов Twilio. Я сказал ему, что он должен опубликовать ответ здесь, но у него нет учетной записи SO, пока.

Решение действительно оказалось довольно простым, код работает как положено, но условие

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

Никогда не сработает в этом тестовом сценарии, так как при истечении тайм-аута статус будет "нет ответа", как указано здесь: https://www.twilio.com/docs/api/twiml/dial

Надеюсь, этот ответ поможет любому, кто находится в такой же ситуации.

person RainierMallol    schedule 12.09.2014