Recursive
2015-11-05 06:49:46 UTC
Dear all,
I have made a fairly complex dialplan where I am using the REGEX function in many places. This works so far, but I wasn't able to solve the following problem. What I would like to do is the following (please note that this is normal regex syntax and obviously not what the REGEX function expects, but I hope it shows the idea):
same => n(A1), GotoIf($[${REGEX("^\+49.*" ${EXTEN})}]?:A2)
This line should make Asterisk jump to label A2 if the extension begins with +49. Since the plus sign is a special char in regexes, I have escaped it with \ as usual. But that does not work; the pattern is not matched and the goto is not executed when the extension begins with +49.
What I already have tried:
1) same => n(A1), GotoIf($[${REGEX("^\\+49.*" ${EXTEN})}]?:A2)
2) same => n(A1), GotoIf($[${REGEX("^\\\+49.*" ${EXTEN})}]?:A2)
3) same => n(A1), GotoIf($[${REGEX("^\\\\+49.*" ${EXTEN})}]?:A2)
4) same => n, Set(REPAT=^+49.*)
same => n(A1), GotoIf($[${REGEX(${REPAT} ${EXTEN})}]?:A2)
5) same => n, Set(REPAT="^+49.*")
same => n(A1), GotoIf($[${REGEX(${REPAT} ${EXTEN})}]?:A2)
6) same => n, Set(REPAT=^+49.*)
same => n(A1), GotoIf($[${REGEX("${REPAT}" ${EXTEN})}]?:A2)
7) same => n, Set(REPAT="^+49.*")
same => n(A1), GotoIf($[${REGEX("${REPAT}" ${EXTEN})}]?:A2)
Neither of these worked.
Actually, the REGEX function is not able to handle normal regular expressions. To make things worse, there doesn't seem to be any documentation. Could anybody please point me to documentation or tell me how write that very simple pattern?
Thank you very much,
Recursive
P.S. This happens in Asterisk 13.6.0 - I haven't tested with other versions.
I have made a fairly complex dialplan where I am using the REGEX function in many places. This works so far, but I wasn't able to solve the following problem. What I would like to do is the following (please note that this is normal regex syntax and obviously not what the REGEX function expects, but I hope it shows the idea):
same => n(A1), GotoIf($[${REGEX("^\+49.*" ${EXTEN})}]?:A2)
This line should make Asterisk jump to label A2 if the extension begins with +49. Since the plus sign is a special char in regexes, I have escaped it with \ as usual. But that does not work; the pattern is not matched and the goto is not executed when the extension begins with +49.
What I already have tried:
1) same => n(A1), GotoIf($[${REGEX("^\\+49.*" ${EXTEN})}]?:A2)
2) same => n(A1), GotoIf($[${REGEX("^\\\+49.*" ${EXTEN})}]?:A2)
3) same => n(A1), GotoIf($[${REGEX("^\\\\+49.*" ${EXTEN})}]?:A2)
4) same => n, Set(REPAT=^+49.*)
same => n(A1), GotoIf($[${REGEX(${REPAT} ${EXTEN})}]?:A2)
5) same => n, Set(REPAT="^+49.*")
same => n(A1), GotoIf($[${REGEX(${REPAT} ${EXTEN})}]?:A2)
6) same => n, Set(REPAT=^+49.*)
same => n(A1), GotoIf($[${REGEX("${REPAT}" ${EXTEN})}]?:A2)
7) same => n, Set(REPAT="^+49.*")
same => n(A1), GotoIf($[${REGEX("${REPAT}" ${EXTEN})}]?:A2)
Neither of these worked.
Actually, the REGEX function is not able to handle normal regular expressions. To make things worse, there doesn't seem to be any documentation. Could anybody please point me to documentation or tell me how write that very simple pattern?
Thank you very much,
Recursive
P.S. This happens in Asterisk 13.6.0 - I haven't tested with other versions.
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users