[Kamailio-Users] PCRE / Regex Module
Iñaki Baz Castillo
ibc at aliax.net
Fri Sep 18 02:05:53 CEST 2009
El Viernes, 18 de Septiembre de 2009, Brandon Armstead escribió:
> Hello,
> I have the following pcre regex method call:
>
> pcre_match("$hdr(From)", "(?i)^(restricted|anonymous|private|unknown|
unavailable)")
>
> to match calls that are sent without a proper ANI in a case-insensitive
> manner, however it does not seem to return true for the following example
> From Header:
>
> From Header: "Unavailable"
> <sip:Restricted at 192.168.47.68<sip%3ARestricted at 192.168.47.68>
>
> >;tag=gK07327e23
>
> Any thoughts / input is appreciated, and as always thank you for your help!
You are using ^ symbol which means that the string MUST START by:
restricted|anonymous|private|unknown|unavailable
But your string $hdr("From") starts by "Unavailable" (*including* the
quotation marks so it doesn't match).
If the From URI username is enough (Restricted) you could do:
pcre_match("$dU", "(?i)^(restricted|anonymous|private|unknown|
unavailable)")
If you need to match the Display-Name ("Unavailable") then you must add the
quotation marks to the regular expression:
pcre_match("$fn", "(?i)^(\")?(restricted|anonymous|private|unknown|
unavailable)(\")?")
Note that I use $fn rather than $hdr("From"), being $fn the From Display-Name:
http://kamailio.org/dokuwiki/doku.php/pseudovariables:1.5.x#from_display_name
--
Iñaki Baz Castillo <ibc at aliax.net>
More information about the sr-users
mailing list