[OpenSIPS-Users] How to change Contact header

Andrew Pogrebennyk andrew.pogrebennyk at portaone.com
Wed Oct 6 14:58:40 CEST 2010


David,
Also if rewriting Contact with the opensips address is what you want to 
achieve, you should look no further than b2b_logic "top hiding" 
scenario: http://www.opensips.org/Resources/B2buaTutorial16#toc12

On 06.10.2010 14:15, Bogdan-Andrei Iancu wrote:
> 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

-- 
Sincerely,
Andrew Pogrebennyk



More information about the Users mailing list