【发布时间】:2010-11-29 21:55:19
【问题描述】:
我希望能够在一个电话中使用多个 Kynetx 应用程序(规则集)。假设第一个应用程序是电话菜单,第二个应用程序提供菜单选项的功能。如何从一个重定向到另一个?
【问题讨论】:
我希望能够在一个电话中使用多个 Kynetx 应用程序(规则集)。假设第一个应用程序是电话菜单,第二个应用程序提供菜单选项的功能。如何从一个重定向到另一个?
【问题讨论】:
当您使用 twilio:redirect() 或 twill:gather_start() 操作时,您提供的 url 是一个相对 URL。
所有twilio webhooks provided by Kynetx都有http://webhooks.kynetxapps.net/t/appid/eventname的完整URL
如果你传入一个相对于 this 的 URL,它将相对于 this 进行解析。示例:
使用http://webhooks.kynetxapps.net/t/myappid/callstart 的基本 URL,操作 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(),此规则可以重定向回第一个应用程序。
【讨论】: