在我的拨号方案中,我有一个用于_XXXXXXX的分机(用于7位数字)和一个用于_X的分机。现在,如果我拨一个7位数字,执行的是_X分机,而不是_XXXXXXX。我希望在拨打7位数字的情况下执行_XXXXXXX部分。有什么办法解决这个问题吗?
谢谢。
发布于 2009-08-20 06:14:28
我认为在这个link上的解释会对你有所帮助。简而言之,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}) 发布于 2009-09-16 15:16:02
_X。一般来说,在您的拨号方案中使用它是一个相当危险的项目,因为它基本上匹配所有内容。尽量避免使用它,并想出更具体的拨号规则。
如果您以这种方式拨打真实的电话号码,您可能希望将7位数的线路修改为_NXXXXXX。
如果您的位置内的其他电话有一组分机号码,并且您使用星号拨出电话系统云,则可以执行以下操作(假设您的区号为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})https://stackoverflow.com/questions/1304112
复制相似问题