【问题标题】:How do I pass variables between dialplan and agi script in asterisk如何在星号中的拨号计划和 agi 脚本之间传递变量
【发布时间】:2011-08-19 11:05:35
【问题描述】:

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

【问题讨论】:

    标签: asterisk telephony ivr agi


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多