[OpenSIPS-Users] How to change Contact header

Bogdan-Andrei Iancu bogdan at voice-system.ro
Wed Oct 6 13:15:49 CEST 2010


Hi David,

take when using such regexps as the contact hdr may have multiple syntaxes:
    Contact: sip:user at domain
    Contact: sip:user at domain;hdr_params
    Contact: <sip:user at domain>;hdr_params
    Contact: <sip:user at domain;uri_params>;hdr_params
    Contact: "display" <sip:user at domain>;hdr_params
    Contact: display <sip:user at domain>;hdr_params

    etc....

So having a regexp to match all case may be difficult....better try to 
focus only on the domain part, like matching the "@IP" part...., like
    (Contact: .*@)[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}

Regards,
Bogdan

David Santiago wrote:
> Solved!
>
> Adding a \r did the thing...
>
> if ( subst('/^Contact: <sip:([0-9]+)@(.*)$/Contact:
> <sip:\1 at NEW_IP_ADDRESS_HERE>\r/ig') ) {
>                xlog("contact modified!");
>        };
>
> On Tue, Oct 5, 2010 at 6:34 PM, David Santiago 
> <david.santiago at almiralabs.com <mailto:david.santiago at almiralabs.com>> 
> wrote:
>
>     Hi all,
>
>     I need to modify the host part of a contact header. I'm trying
>     something like:
>
>     if ( subst('/^Contact: <sip:([0-9]+)@(.*)$/Contact:
>     <sip:\1 at NEW_IP_ADDRESS_HERE>/ig') ) {
>                    xlog("contact modified!");
>            };
>
>     but the resulting Contact header is wrong and cannot be processed.
>
>     Having a look at the header with wireshark shows that the "Contact
>     Binding" entry is missing the ending ">", but the "Contact", "URI" or
>     "SIP contact address" have the ">" at the end  :L
>
>     May be this is not the right way to modify a Contact header...
>
>
>     Thanks in advance,
>     David
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   


-- 
Bogdan-Andrei Iancu
OpenSIPS Bootcamp
15 - 19 November 2010, Edison, New Jersey, USA
www.voice-system.ro




More information about the Users mailing list