我需要为这样的星号sip调用制作模式。
喜欢匹配
*1203#023212232
+*1203#122
12345555
但拒绝这些案件
3434+23443
*2334%2323
我像这样准备了模式
exten => _[*|#|+|0-9].,1,Answer()
但这也是接受以下模式,我不想匹配。
*2334%2323
答案 0 :(得分:0)
怎么样:
\+?[0-9#*]+
你可能想要锚定它:
^\+?[0-9#*]+$
答案 1 :(得分:0)
我不认为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()
这只是实现您的要求的一种选择