2013-09-13 3 views
0

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

Вот мой код Gateway:

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(); 
     } 

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

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

ответ

1

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

Хорошая структура C#, которая работает на MVC 4 для разработки приложений Tropo, - VoiceModel. Он является открытым исходным кодом под лицензией Apache и упрощает разработку голосовых приложений. Вы разрабатываете свое приложение один раз, и оно будет работать на Tropo и любой совместимой с VoiceXML системой. Вот article on using VoiceModel to create outbound applications.

Смежные вопросы