Пример Tropo C# JSON?

Я пытаюсь внедрить Tropo в мое приложение MVC4. У меня есть простой шлюз, который создает вызов на номер и говорит сообщение. Кажется, я не могу заставить его работать, все, что происходит, это то, что Тропо набирает номер и вешает трубку, когда человек отвечает.

Вот мой код шлюза:

public void SendAppointmentNotification()
        {
            var httpWReq =
                (HttpWebRequest)WebRequest.Create("https://api.tropo.com/v1/sessions");

            var encoding = new ASCIIEncoding();
            var postDataTemplate = "<session>" +
                                   "<token>{0}</token>" +
                                   "<var name=\"numberToDial\" value=\"{1}\"></var>" +
                                   "<var name=\"msg\" value=\"{2}\"></var>" +
                                   "</session>";

            var tokenToUse = [APIKEY]-Removed;
            var numberToDial = "XXXXXXXXXX";
            var message = "Greetings. This is a reminder that you have a service call appointment scheduled.";

            var postData = string.Format(postDataTemplate, tokenToUse, numberToDial, message);

            var data = encoding.GetBytes(postData);

            httpWReq.Method = "POST";
            httpWReq.Accept = "text/xml";
            httpWReq.ContentType = "text/xml";
            httpWReq.ContentLength = data.Length;

            var newStream = httpWReq.GetRequestStream();
            newStream.Write(data, 0, data.Length);
            var response = (HttpWebResponse) httpWReq.GetResponse();
            byte[] buffer = new byte[response.ContentLength];
            using (var stream = response.GetResponseStream())
            {
                stream.Read(buffer, 0, (int) response.ContentLength);
            }
            var bufferAsString = buffer.Aggregate("", (current, t) => current + (char) t);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception("Did not get status OK 200 from POST");
            }
            newStream.Close();
        }

Сайт Tropo, похоже, очень любит все языки, кроме C#, и репозиторий Github, который у них есть, довольно старый и не имеет документации.

Я просто хочу позвонить человеку и сказать сообщение... Кто-нибудь был на этом пути и может предложить мне пример их реализации?

1 ответ

Решение

Этот вопрос не относится к типу проблем, с которыми вы сталкиваетесь при попытке запустить это приложение. Но одна вещь, которую нужно проверить, - это то, что вы получили права на исходящие звонки. Если что-то не изменилось, вы должны запросить эту функцию у поддержки Tropo.

Хорошей платформой C#, которая работает на MVC 4 для разработки приложений Tropo, является VoiceModel. Это открытый исходный код под лицензией Apache и упрощает разработку голосовых приложений. Вы разрабатываете свое приложение один раз, и оно будет работать на Tropo и любой системе, совместимой с VoiceXML. Вот статья об использовании VoiceModel для создания исходящих приложений.

Другие вопросы по тегам