如何使用Twilio在一次通话中使用多个Kynetx应用程序?

如何使用Twilio在一次通话中使用多个Kynetx应用程序?,twilio,krl,Twilio,Krl,我希望能够在一次电话通话中使用多个Kynetx应用程序(规则集)。假设第一个应用程序是电话菜单,第二个应用程序提供菜单选项的功能。如何从一个重定向到另一个?当您使用twilio:redirect()或twill:gather\u start()操作时,您提供的url是相对url 都有http://webhooks.kynetxapps.net/t/appid/eventname 如果您传入一个与此相关的URL,它将解析为与此相关的URL。例如: 基本URL为http://webhooks.kyn

我希望能够在一次电话通话中使用多个Kynetx应用程序(规则集)。假设第一个应用程序是电话菜单,第二个应用程序提供菜单选项的功能。如何从一个重定向到另一个?

当您使用twilio:redirect()或twill:gather\u start()操作时,您提供的url是相对url

都有
http://webhooks.kynetxapps.net/t/appid/eventname

如果您传入一个与此相关的URL,它将解析为与此相关的URL。例如:

基本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();
    }
  }
}
规则集firstappid{
元{
名称“手机菜单应用程序”
说明>
作者“山姆·科伦”
注销
  }
调度{}
全局{}
规则菜单{
打开菜单时选择
    {
斜纹:使用numDigits=1收集开始(../secondappid/menuchoice);
twilio:say(“按1说话做任何事”);
twilio:收集并停止();
    }
  }
      
}
以及接收菜单选项的应用程序

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();
    }
  }
}
规则集secondappid{
元{
名称“电话菜单选项”
说明>
作者“山姆·科伦”
注销
  }
调度{}
全局{}
规则发言{
当twilio菜单显示数字“1”时选择
    {
twilio:说(“这是你按1时得到的结果。”);
twilio:挂断();
    }
  }
}

通过使用动作
twilio:redirect('../firstappid/givemenu')
而不是
twilio:hangup()
,此规则可以重定向回第一个应用。

喜欢完整的规则集示例!我试图让它们尽可能简单,同时仍然显示完整的应用程序。