匹配星号拨号计划中的 2 个分机号码

匹配星号拨号计划中的 2 个分机号码

有没有简单的方法来匹配这样的事情:

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)

相关内容