【发布时间】:2011-08-19 11:05:35
【问题描述】:
我希望能够将呼叫者输入的分机传递给 agi 脚本,并且在它被操纵之后,我希望 agi 脚本将结果作为变量发送回拨号计划。谁能给我一个例子,说明如何在任何拨号方案语言中实现这一目标
【问题讨论】:
标签: asterisk telephony ivr agi
我希望能够将呼叫者输入的分机传递给 agi 脚本,并且在它被操纵之后,我希望 agi 脚本将结果作为变量发送回拨号计划。谁能给我一个例子,说明如何在任何拨号方案语言中实现这一目标
【问题讨论】:
标签: asterisk telephony ivr agi
如果您使用 Asterisk 拨号方案 (extensions.conf) 进入 AGI,则可以使用 ${EXTEN} 通道变量获取扩展。要将信息返回到拨号计划,您可以设置任何通道变量,但要注意避免 Asterisk 本身使用的通道变量。
这是一个使用 Adhearsion 的简单示例:
在 Asterisk extensions.conf 中:
exten => s,1,Background(enter-your-extension-now)
exten => _X.,1,AGI(agi://localhost/stuff)
exten => _X.,n,NoOp(Returned new extension: ${NewExten})
在 Adhearsion 的 dialplan.rb 中:
stuff {
exten = get_variable('EXTEN')
# Do stuff to figure out what the new extension should be
newexten = '12345'
set_variable('NewExten', newexten)
}
上面的代码会将 ${NewExten} 通道变量设置为“12345”并将其写入 Asterisk 控制台。
【讨论】: