【问题标题】:Asterisk Transfer call to next extension if previous INUSE如果上一个 INUSE,Asterisk 将呼叫转移到下一个分机
【发布时间】:2015-09-24 19:49:56
【问题描述】:

如果上一个分机正在使用 (INUSE) 或通话正在进行,我正在尝试将通话转移到下一个分机。我尝试使用EXTENSION_STATE(extension[@context]) 查找状态如下:

[sales]
exten => s,1,Dial(SIP/123)
exten => s,n,GotoIf($["${EXTENSION_STATE(123)}"="INUSE"]?passed:failed)
exten => s,n(passed),Dial(SIP/124)
exten => s,n(failed),Hangup();if other

但是没有成功。我该怎么做?

【问题讨论】:

  • “不成功”以外的其他内容会有所帮助...

标签: ubuntu asterisk pbx


【解决方案1】:

试试这个:

[sales]
exten => s,1,Set(GROUP()=OUTBOUND_GROUP)
exten => s,2,GotoIf($[ ${GROUP_COUNT()} > 1 ]?try1:try2)
exten => s,3(try1),Dial(SIP/124)
exten => s,4(try2),Dial(SIP/123)

使用GROUP_COUNT() 而不是EXTENSION_STATE()

【讨论】:

    【解决方案2】:

    EXTENSION_STATE() 函数仅适用于提示扩展。确保在 extensions.conf 中为扩展添加提示。比如:

    [default]
    exten => 123,hint,SIP/123
    

    详情:http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/DeviceStates_id265377.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-07
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多