Как использовать несколько приложений Kynetx во время одного телефонного звонка с Twilio?

Я хочу иметь возможность использовать несколько приложений (наборов правил) Kynetx за один телефонный звонок. Скажем, первое приложение - это меню телефона, а второе приложение предоставляет функции для этого пункта меню. Как мне перенаправить с одного на другой?


person TelegramSam    schedule 29.11.2010    source источник


Ответы (1)


Когда вы используете действие twilio: redirect () или twill: gather_start (), предоставляемый вами URL является относительным.

Все twilio webhooks, предоставляемые Kynetx, имеют полный URL http://webhooks.kynetxapps.net/t/appid/eventname

Если вы передадите URL-адрес относительно this, он будет разрешен относительно this. Пример:

При базовом URL http://webhooks.kynetxapps.net/t/myappid/callstart действие twilio:redirect("sayhello") преобразуется в http://webhooks.kynetxapps.net/t/myappid/sayhello

Это отправит новое событие в то же приложение.

Если вы хотите переключить приложения, вы можете указать полный URL-адрес, включая новый appid, или использовать относительный URL-адрес, например следующий:

С базовым URL: http://webhooks.kynetxapps.net/t/myappid/callstart действие twilio:redirect("../newappid/sayhello") преобразуется в: http://webhooks.kynetxapps.net/t/newappid/sayhello

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

ruleset firstappid {
  meta {
    name "Phone Menu App"
    description <<
      Provides the Phone Menu
    >>
    author "Sam Curren"
    logging off
  }
  dispatch {}
  global {}

  rule menu {
    select when twilio givemenu
    {
      twill:gather_start("../secondappid/menuchoice") with numDigits = 1;
        twilio:say("Press 1 to speak do whatever.");
      twilio:gather_stop();
    }
  }
      
}

И приложение, которое получает выбор меню.

ruleset secondappid {
  meta {
    name "Phone Menu Option"
    description <<
      Provides the menu functionality
    >>
    author "Sam Curren"
    logging off
  }
  dispatch {}
  global {}

  rule speak {
    select when twilio menuchoice Digits "1"
    {
      twilio:say("This is what you get when you press 1.");
      twilio:hangup();
    }
  }
}

Используя действие twilio:redirect('../firstappid/givemenu') вместо twilio:hangup(), это правило может перенаправить обратно в первое приложение.

person TelegramSam    schedule 29.11.2010
comment
Любите полные примеры наборов правил! - person Mike Grace; 30.11.2010
comment
Я постарался сделать их как можно более простыми, но при этом все еще показывал полное приложение. - person TelegramSam; 30.11.2010