如何根据数字的结尾匹配数字?

如何根据数字的结尾匹配数字?

我正在设置 Asterisk VoIP 服务器(使用 FreePBX),我需要识别以特定模式结尾的所有号码。

这对于路由目的是必需的,即查明它们是来自出站中继线还是内部电话。

例如,本地号码 777777 可能显示为 777777、01222777777、441222777777、00441222777777 或 +441222777777。

我搜索了几次也没找到答案。该怎么做呢?

答案1

如果你使用 FreePBX,你很可能需要深入研究并在 /etc/asterisk/extensions_custom.conf 中添加如下内容

[check-ending]
exten => _!,1,GotoIf($[${EXTEN:-6} = 777777]?gotcha)
exten => _!,n,Goto(inbound)
exten => _!,n,Hangup()
exten => _!,n(gotcha),Goto(inbound-from-777777)
exten => _!,n,Hangup()
exten => h,1,Hangup()

现在,如果最后有 6 个 7,那么叫牌将转到明白了标签并将重定向至入站自-777777否则,它将进一步通过拨号计划,并将被重定向到入站

然后运行asterisk -x "dialplan reload"将新配置加载到 asterisk 中。之后,您必须在 UI 中设置检查结束上下文作为中继的呼叫接收者(如您通常所做的那样)。

相关内容