[英]pattern matching in asterisk apps dialplan
我需要以这种方式为星号sip调用创建模式。
喜欢它匹配
*1203#023212232
+*1203#122
12345555
但拒绝这些情况
3434+23443
*2334%2323
我这样准备图案
exten => _[*|#|+|0-9].,1,Answer()
但这也是我不想匹配的以下模式。
*2334%2323
怎么样:
\+?[0-9#*]+
您可能要锚定它:
^\+?[0-9#*]+$
我不认为Asterisk在正则表达式表达中支持这么多的灵活性。
实现此目的的最佳方法是将此扩展变量传递给AGI并在那里进行正则表达式匹配。
exten => _.,1,AGI(Your AGI SCRIPT,${EXTEN}) // Pass the extension number to your Agi script.If that match your requirement set an agi variable **match** to 1
exten => s,n,GotoIf($["${match}" = "1"]?proceed:endcall) //Check the match variable status and proceed based on that
exten => s,n(proceed),Answer()
exten => s,n(endcall),Hangup()
这只是满足您的要求的一种选择
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.