Повторите пользовательский контент в Voice, используя поток типа IVR

Я использую twilio для совершения вызовов. Я использую ASP.NET MVC для создания ответа и сбора входных данных.

Q1: Как я могу указать такие атрибуты, как язык, голос, цикл, атрибуты паузы для глагола

 public ActionResult Welcome(string msg) {
  var response = new TwilioResponse();
  response.Say("This is a Sample Message");
  return TwiML(response);
 }

Q2: Я использую сбор ввода для таких опций, как а) нажмите 1, чтобы повторить сообщение. б) нажмите 2 для подтверждения. c) нажмите 3, чтобы повторить пункты меню. Я не могу найти способ перенаправить параметр моего сообщения (msg) в действие «Сбор».

 public ActionResult WelcomeCall(string msg)      
 {
     var response = new TwilioResponse();
     response.BeginGather(new
        {
            action = "http://testurl.azurewebsites.net/Gather",
            Digits = "1"
        });
     response.Say(msg);
     response.Say("To repeat the message, press one");
     response.Say("To confirm, press two");
     response.Say("To repeat the menu options, press three");
     response.EndGather();
     return TwiML(response);
  }

  public ActionResult Gather(string Digits) 
  {
      var response = new TwilioResponse();
      if(Digits==1) 
      {
         response.Say(msg);
      }
      return TwiML(response);
   }

Не могли бы вы предоставить способ обработки этого случая.


person user3311016    schedule 12.01.2015    source источник


Ответы (1)


Евангелист Twilio здесь.

Метод Say (и большинство методов TwiML) имеет второй параметр, который принимает анонимный тип, позволяющий указать атрибуты глагола:

response.Say("This is a Sample Message", new { voice="alice", loop="2" } );

Чтобы передать сообщение обработчику сбора, вы можете просто добавить его к URL-адресу действия:

response.BeginGather(new
{
    action = "http://testurl.azurewebsites.net/Gather?msg=" + msg,
    Digits = "1"
});
response.EndGather();

Надеюсь, это поможет.

person Devin Rader    schedule 13.01.2015
comment
Спасибо за ответ. Чтобы передать сообщение обработчику сбора, вы сказали /Gather?msg=+msg, а затем в общедоступном сборе ActionResult (строка msg, строка цифр) в качестве параметров. Пожалуйста, подтвердите. Я не могу получить данные msg в Сбор действий - person user3311016; 13.01.2015
comment
когда я прохожу, как указано выше. Я получаю, что нам жаль, что произошла ошибка приложения или ошибка Gather End. Не могли бы вы помочь мне в решении этой проблемы. - person user3311016; 15.01.2015