Исходящие звонки с Twilio Rest Api не выполняются - PullRequest
1 голос
/ 02 марта 2012

Я создаю приложение, и одна из функций интегрирована в Twilio.

Я выполнил весь поток IVR с помощью Asp.Net Mvc 3, и до сих пор все работает правильно. Тем не менее, одна из функций заключается в том, чтобы пользователь вводил телефонный номер, а Twilio звонил по этому номеру и проигрывал что-то, как только другой пользователь отвечает.

Я использую API-интерфейс Twilio REST для выполнения вызова, но вызов не выполняется, и у меня нет ошибок в приложении или в Twilio.

Что я делаю, так это: у меня есть действие, которое получает данные из twilio


public ActionResult Dial(Call request, int opt)
{

    var twilio = new TwilioRestClient(Configuration.TwilioAccKey, Configuration.TwilioAuthKey);
    twilio.InitiateOutboundCall(Configuration.TwilioPhoneNumber, 
                                "+" + request.Digits,
                                string.Format("{0}/Calls/Endorsement/Play?opt={1}", Configuration.BaseUrl, opt));

    var response = new TwilioResponse();
    response.Redirect("/Calls/Endorsement/Play?opt=" + opt, "GET");
    return TwiML(response);
}

Ответ после выполнения вызова REST, и исходящий вызов не выдает никакой ошибки. Что я делаю не так?

Спасибо!

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Ваш код для исходящего звонка выглядит правильно.

Возможно, что исключение возвращается из REST API. Я изменил ваш код, чтобы использовать параметр обратного вызова методов InitiateOutboundCall, чтобы проверить, не является ли свойство RestException нулевым:

var twilio = new TwilioRestClient(Configuration.TwilioAccKey,
                                  Configuration.TwilioAuthKey);
twilio.InitiateOutboundCall(Configuration.TwilioPhoneNumber,
                        "+" + request.Digits,
                        string.Format("{0}/Calls/Endorsement/Play?opt={1}", Configuration.BaseUrl, opt),
                        call =>
                        {
                            if (call.RestException != null)
                            {
                                //handle the rest error
                            }
                        }
                    );

Если RestException равен нулю и в журнале отладчика Twilio ничего не регистрируется, то лучшим вариантом может быть отключение Fiddler и просмотр событий, происходящих во время фактического запроса к API.

0 голосов
/ 08 октября 2012

У меня была похожая проблема, и я хочу опубликовать здесь, если кто-то найдет эту проблему, как я. (В настоящее время это единственное, что появляется при поиске «InitiateOutboundCall».)

В моем случае не было исключений ни моим приложением, ни Twilio. Вызов InitiateOutboundCall просто ничего не делал.

В документах разъясняется, что URL должен быть абсолютным, и я не указывал "http://".. После добавления этого все работало как ожидалось.

...