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

我正在设置一个Asterisk VoIP服务器(使用FreePBX),我需要识别以特定模式结束的所有数字。

这对于路由的目的是必需的,也就是说,它们是来自中继线还是来自内部电话。

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

一些search没有帮我弄明白。 如何做呢?

如果你使用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个七进制 ,则该呼叫将转到gotcha标签,并将被redirect到来自-7777777的入站 ,否则将进一步通过拨号计划并将被redirect到入站

然后运行asterisk -x "dialplan reload"将新configuration加载到星号中。 之后在UI中,您将不得不将检查结束上下文设置为中继线的呼叫接收方(正如您通常所做的那样)。