星号表示可能匹配的优先级

  • 本文关键字:优先级 表示 asterisk
  • 更新时间 :
  • 英文 :


我希望能够从我的拨号计划和路由中隔离免费号码,然后通过SIP而不是通过本地中继。我的问题是优先级号码,似乎免费号码也将与中继分机匹配。

目前

:'

 exten => _1XXXXXXXXXX,1,SetCallerID(${DEFAULT_CIDName} <${DEFAULT_CIDNum}>)
 exten => _1XXXXXXXXXX,n,Dial(${TRUNK_OB}/${EXTEN:0:11})
 exten => _1XXXXXXXXXX,n,Hangup

我希望能够添加:

exten => _1800NXXXXXX,1,Dial(SIP/sip.server.com/${EXTEN})

(以及888,855,877 &866)

但是免费号码和长途拨号也匹配。

如果我将添加设置为优先级2,然后将中继拨号设置为优先级3,它是否只拨打SIP而跳过中继,或者有可能将它们都设置为优先级1,然后如果是免费的,只拨打SIP?

我到处都找遍了,还是没有得出结论。任何建议都将非常感激!!

在您的示例中,您覆盖了优先级1,而dialplan在" wider "扩展模式中继续使用优先级2。在您的示例中,当您拨打18001234567时,将执行以下拨号计划:

exten => _1800NXXXXXX,1,Dial(SIP/sip.server.com/${EXTEN})
exten => _1XXXXXXXXXX,2,Dial(${TRUNK_OB}/${EXTEN:0:11})
exten => _1XXXXXXXXXX,3,Hangup

SetCallerID()被免费扩展覆盖。有两种方法可以解决这个问题:

  1. 覆盖扩展名2,而不是1

    exten => _1XXXXXXXXXX,1,SetCallerID(${DEFAULT_CIDName} <${DEFAULT_CIDNum}>)
    exten => _1XXXXXXXXXX,n,Dial(${TRUNK_OB}/${EXTEN:0:11})
    exten => _1XXXXXXXXXX,n,Hangup
    ; overwrite priority 2 (Dial) for toll free numbers
    exten => _1800NXXXXXX,2,Dial(SIP/sip.server.com/${EXTEN})
    

    这可能不是最干净的解决方案,因为当你移动代码时,你会被优先级弄糊涂。

  2. 设置一个"dialstring"变量,优先级为1,以后可以覆盖使用。

    exten => _1XXXXXXXXXX,1,Set(DIALOUTSTRING=${TRUNK_OB}/${EXTEN:0:11})
    exten => _1XXXXXXXXXX,n,SetCallerID(${DEFAULT_CIDName} <${DEFAULT_CIDNum}>)
    exten => _1XXXXXXXXXX,n,Dial(${DIALOUTSTRING})
    exten => _1XXXXXXXXXX,n,Hangup
    ; use another dialout for toll free numbers
    exten => _1800NXXXXXX,1,Set(DIALOUTSTRING=SIP/sip.server.com/${EXTEN})
    

相关内容

  • 没有找到相关文章

最新更新