在我的拨号方案中,我有一个 _XXXXXXX(7 位数字)的分机和一个 _X 的分机。. 现在,如果 ii 拨打一个 7 位数字,_X。扩展名正在执行,而不是 _XXXXXXX。我希望 _XXXXXXX 部分在拨打 7 位数字的情况下被执行。有任何解决这个问题的方法吗 ?
谢谢你。
在我的拨号方案中,我有一个 _XXXXXXX(7 位数字)的分机和一个 _X 的分机。. 现在,如果 ii 拨打一个 7 位数字,_X。扩展名正在执行,而不是 _XXXXXXX。我希望 _XXXXXXX 部分在拨打 7 位数字的情况下被执行。有任何解决这个问题的方法吗 ?
谢谢你。
我认为此链接上的解释将对您有所帮助。简而言之,Asterisk 似乎对拨号方案重新排序,并且在 1.2 和 1.4 中这样做的方式不同。
据我所知,解决您的问题的最简单、最便携和最简洁的解决方案是_XXXXXXX
在一个上下文和另一个上下文中定义(7 位数字)_X.
。然后,您需要在第一个上下文中包含第二个上下文。
一个非常简单的例子:
[seven-digit]
include => match-all
exten => h,1,Hangup
exten => _XXXXXXX,1,Dial(Zap/1/${EXTEN})
[match-all]
exten => _X.,1,Dial(Zap/2/${EXTEN})
_X。一般来说,在您的拨号计划中是一个相当危险的项目,因为它基本上匹配所有内容。尽量避免使用它,并提出更具体的拨号规则。
如果您以这种方式拨打真实电话号码,您可能需要将 7 位线路修改为 _NXXXXXX。
如果您为您所在位置的其他电话设置了一定数量的分机,并且您使用 Asterisk 拨出到电话系统云,您可以执行以下操作(假设您的区号是 321,并且您的本地分机有三位数并从 7) 开始:
exten => _1NXXNXXXXXX,1,Dial(SIP/trunk/${EXTEN})
exten => _NXXNXXXXXX,1,Dial(SIP/trunk/1${EXTEN})
exten => _NXXXXXX,1,Dial(SIP/trunk/1321${EXTEN})
;local extension(s)
exten => _7XX,1,Dial(SIP/${EXTEN})