[OpenSER-Users] avp_subst and regex

Daniel-Constantin Mierla daniel at voice-system.ro
Thu Aug 2 12:05:28 CEST 2007


Hello,

indeed there seems to be an issue with interpreting the strings in 
config file, before getting to avpops function parameters. When the 
config file is parsed, inside the string, \[0-7]{2,3} is interpreted as 
a ASCII code in octal base and replaced with its code. Try:

avp_subst("$avp(s:fromuri)","/^(sip:)([134][0-9]{4}@.*)/\\\x01121285\2/");

However, in 1.2 you can achieve same by:

$avp(s:fromuri) ="sip:121285"+$(avp(s:fromuri){uri.user}) + "@" + 
$(avp(s:fromuri){uri.domain});

Cheers,
Daniel


On 08/01/07 19:06, Zahid Mehmood wrote:
> Hi,
>    I am trying to rewrite a 5 digit number to a 11 digit number by 
> adding a prefix "121285".  To achieve that I use the following:
>
>
> avp_subst("$avp(s:fromuri)","/^(sip:)([134][0-9]{4}@.*)/\1+121285\2/");
>
> in openser.log   new fromuri = sip:+12128512345 at host.columbia.edu
>
> It works fine because of the "+" after \1
>
> This avp_subst does not work properly if the "+" is taken out.  How 
> can I use "\1" followed by another digit?
>
> avp_subst("$avp(s:fromuri)","/^(sip:)([134][0-9]{4}@.*)/\1121285\2/");
>
> in openser.log:  new fromuri = J128512345 at host.columbia.edu
>
>
> What am i doing wrong?
>
> Thanks in advance for your help.
>




More information about the sr-users mailing list