[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