1

我希望能够将呼叫者输入的分机传递给 agi 脚本,并且在它被操纵之后,我希望 agi 脚本将结果作为变量发送回拨号计划。谁能给我一个例子,说明如何用任何拨号方案语言实现这一点

4

1 回答 1

2

如果您使用 Asterisk dialplan (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 控制台。

于 2011-08-20T20:41:22.637 回答