[OpenSIPS-Users] Trouble with Contact header transport

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Aug 19 09:54:31 CEST 2010


Hi Daniel,

You are replacing twice the contact URI (once by your subst, once via 
fix_nated_contact). To avoid this, you can actually script just the 
addition of the transport param, without replacing the whole contact hdr:

       search_append('Contact:.*sip:[^>[:cntrl:]]*', ';transport=tcp');

Regards,
Bogdan


Daniel Goepp wrote:
> I'm sorry...I even put in my message "here is the block of code" and 
> then forgot to paste it in.  The code looks like this:
>
>         if(proto==TCP and t_check_status("200") and 
> !$(ct{uri.param,transport}) ) {
>                 xlog ("Need to add transport to this one");
>                 #subst("/^Contact\:(.*)/Contact:\1;transport=tcp/");
>         };
>
> Basically the problem is if the response 200 is received TCP, but 
> there is no transport, then add it.
>
> Please let me know if this is enough information.
>
> Thanks.
>
> -dg
>
>
> On Wed, Aug 18, 2010 at 7:46 AM, Bogdan-Andrei Iancu 
> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>
>     Hi Daniel,
>
>     For sure you an overlapping of changes (multiple changes over the same
>     part of the message). What is the scripting you use to add the
>     transport=tcp stuff ?
>
>     Regards,
>     Bogdan
>
>     Daniel Goepp wrote:
>     > First, let me state that I don't believe this is a problem with
>     > OpenSIPS, but rather me just trying to fix a user agent that is not
>     > doing the right thing.  The problem is that the 200 OK that we get
>     > back from the phone is not putting the transport in explicitly
>     (ugh).
>     > So OpenSIPS passes this along time, and we get an ACK back, but the
>     > ACK is then not explicit either, and OpenSIPS defaults to sending it
>     > UDP (but it should be TCP).  The problem is that if we try to
>     fix this
>     > by adding it on the reply, we break things pretty bad.  I
>     believe this
>     > is because fix_nated_contact is not playing nice with my manual fix.
>     >
>     > If my reply just has fix_nated_contact, it's all nice relaying
>     fine with:
>     >
>     > Contact: "2060" <sip:2060@<my_public_ip>:48278>.
>     >
>     > However if I add this block of code right after or before fixing
>     nated
>     > contact, I get:
>     >
>     > Contact: "2060" <sip:2060 at 10.0.1.9:5060
>     <http://sip:2060@10.0.1.9:5060>
>     >
>     <http://sip:2060@10.0.1.9:5060>>.;transport=tcpsip:2060@<my_public_ip>:39803
>     >
>     > OUCH, that ain't never gonna work!
>     >
>     > Thoughts on how I can work around a mis-behavin' phone?
>     >
>     > Thanks
>     >
>     > -dg
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Users mailing list
>     > Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >
>
>
>     --
>     Bogdan-Andrei Iancu
>     OpenSIPS Bootcamp
>     20 - 24 September 2010, Frankfurt, Germany
>     www.voice-system.ro <http://www.voice-system.ro>
>
>
>     _______________________________________________
>     Users mailing list
>     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   


-- 
Bogdan-Andrei Iancu
OpenSIPS Bootcamp
20 - 24 September 2010, Frankfurt, Germany
www.voice-system.ro




More information about the Users mailing list