有没有简单的方法来匹配这样的事情:
exten => _+380XXXXXXXXX,1,NoOp(hint that)
exten => _0XXXXXXXXX,1,NoOp(hint that)
这两个分机号匹配相同的号码,无论有没有 +38 前缀。有什么规则可以做到_[(+38)]0XXXXXXXX
这一点吗?
答案1
据我所知,Asterisk 不提供可适应这种情况的拨号计划匹配语法(自由交换做)。
您必须清理号码,以便您可以在拨号计划中以规范格式匹配它。我认为类似这样的方法可能对您有用:
[dialplan]
exten => _+380XXXXXXXXX,1,Goto(dialplan,${EXTEN:3:10},1)
这样,您就可以将国际 +380XX..XX 号码转换为国内 (?) 0XX..XX 格式,稍后只需使用单个匹配即可。(我自己没有尝试这个示例,因为我前段时间切换到了 FreeSWITCH,但它应该会提示您需要做什么)。
编辑后添加:
显然,如果您想使用国际格式作为规范数字格式,您也可以做相反的事情:
[dialplan]
exten => _0XXXXXXXXX,1,Goto(dialplan,+38${EXTEN},1)