【问题标题】:Asterisk IVR After Hangup挂断后的星号 IVR
【发布时间】:2016-01-23 06:44:43
【问题描述】:

我想在拨打的号码挂断后将呼叫者重定向到 IVR。我进行了研究,发现了一个名为deadAGI 的东西,但我无法让它发挥作用。你可以在下面找到我的extensions_custom.conf 文件。

[from-internal-custom]
exten => 80,1,AGI(custom/agi.php)
exten => 80,2,MixMonitor(${FILE}.WAV)
exten => 80,3,Dial(SIP/custom/${NUMBER})
exten => 80,4,Hangup()
exten => h,1,deadAGI(custom/finish)

我确定我的 AGI 文件是正确的。我只需要在 hangup 命令后正确运行。

提前致谢。

【问题讨论】:

  • 我投票结束这个问题,因为它看起来像一个与编程无关的星号配置问题。
  • 这里有很多这样的问题,但没问题。

标签: asterisk pbx freepbx elastix


【解决方案1】:

“核心显示应用程序拨号”状态:

    g: Proceed with dialplan execution at the next priority in the current
extension if the destination channel hangs up.

所以把你的代码改成:

[from-internal-custom]
exten => 80,1,AGI(custom/agi.php)
exten => 80,2,MixMonitor(${FILE}.WAV)
exten => 80,3,Dial(SIP/custom/${NUMBER},,g)
exten => 80,4,deadAGI(custom/finish)
exten => 80,5,Hangup()

如果你想运行你的脚本,不管调用者或被调用者挂断:

e: Execute the 'h' extension for peer after the call ends

所以:

[from-internal-custom]
exten => 80,1,AGI(custom/agi.php)
exten => 80,2,MixMonitor(${FILE}.WAV)
exten => 80,3,Dial(SIP/custom/${NUMBER},,ge)
exten => 80,4,deadAGI(custom/finish)
exten => 80,5,Hangup()
exten => h,1,deadAGI(custom/finish)

你的想法几乎没问题。 'h' 是一个扩展,而不是一个优先级

【讨论】:

  • 我试过这个,但不是我需要的。如果被叫挂断,则主叫保持在线,但 AGI 不工作。
【解决方案2】:

如果您使用的是 FreePBX,并在 FreePBX Gui 中定义了 IVR,则只需调用适当的拨号方案上下文即可访问该上下文,您可以在生成的 extensions.conf 中轻松找到该上下文

exten => h,1,Goto(the_ivr_context,${EXTEN},1)

【讨论】:

    【解决方案3】:

    请记住,不能在死频道上播放任何媒体,因此请保留您要播放 IVR 的频道。

    【讨论】:

      【解决方案4】:

      你不能在死通道上玩,星号线程将传递/转储所有通道相关的变量/值 deadAGI 文件,以便我们可以记录调用的历史。

      【讨论】:

      • 好的,谢谢您提供的信息,但我该如何处理。我想你明白我需要什么,对吗?
      • 使用可以使用confbridge应用程序,当被叫挂断电话时,你将是唯一的人在桥上,所以将IVR文件设置为confbridge设置,当只有一个参与者时播放文件。这很容易。让我知道您还有其他疑问。
      猜你喜欢
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多