Thanks for the info. Looks like I'm dealing with two external problems then. A device that is not doing what it should by specifying the transport, and this other server we are communicating with that regardless of if it get's a UDP request, it will first try TCP on the way out. Ah the joy of working around incompatible devices and servers. I guess this is why we like OpenSIPS so much, it's flexible enough to fix other people's problems ;)<br>
<br>-dg<br>
<br><br><div class="gmail_quote">On Sat, Mar 6, 2010 at 12:27 AM, Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Daniel Goepp wrote:<br>
> We actually use record_route_preset not record_route, I would have<br>
> presumed the logic would be the same for both though regarding this.<br>
rr_preset() is for setting your own rr header, overriding the automatic<br>
building of the headers. So you have to red pill - let opensips to do<br>
the job - or the blue pill - you do you yourself, but do it from A to Z<br>
<br>
> I do not explicitly set double_rr, so it should be the default of on<br>
> as you point out. My work around of testing and setting manually does<br>
> appear to be working now. I also wonder about what the default<br>
> protocol / priority would be to use on a call. For example a SIP URI<br>
> call where you don't know if the called party is UDP or TCP, it<br>
> appears to default to UDP.<br>
if there is not protocol indication (like SIPS scheme or transport<br>
param), it is UDP - that is what RFC3261 says<br>
<div class="im">> However if the endpoint I'm calling from is using TCP, I would prefer<br>
> to have the outbound attempt first try TCP, then go to UDP if it fails.<br>
</div>if you receive the call over TCP and the caller requests TCP for<br>
delivery, you should have the transport=TCP param in the received RURI.<br>
The presence of this param will force opensips to use the indicated<br>
transport for sending the call out.<br>
Se simple fact you receive the call over TCP does not mean anything -<br>
what is important is what protocol is required via RURI.<br>
<br>
Regards,<br>
Bogdan<br>
<div class="im">> The system we are sending calls to actually just prefers TCP all the<br>
> time, and then fails over to UDP if it can't complete the call. We<br>
> are still experimenting with this, but due to the large packet sizes<br>
> we are seeing with video, TCP is working better for us in most situations.<br>
><br>
</div>> Thanks<br>
><br>
> -dg<br>
><br>
><br>
> On Fri, Mar 5, 2010 at 11:50 AM, Bogdan-Andrei Iancu<br>
> <<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> <mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>>> wrote:<br>
><br>
> Hi Daniel,<br>
><br>
> But record_route() will automatically do double routing if a proto<br>
> / ip<br>
> / port change is detected between the inbound and outbound interface.<br>
> You need to have the "double_rr" enabled (which is by default).<br>
><br>
> Could you check how the RR added by OpenSIPS looks like ?<br>
><br>
> Regards,<br>
> Bogdan<br>
><br>
> Daniel Goepp wrote:<br>
> > Oh man...then TWO seconds after sending this, I find:<br>
> ><br>
> > if(proto==TCP)<br>
> > {<br>
> > log("the SIP message was received over TCP\n");<br>
> > };<br>
> ><br>
> > However my other comment of perhaps this should be handled<br>
> > automatically by OpenSIPS still stands :)<br>
> ><br>
> > Thanks<br>
> ><br>
> > -dg<br>
> ><br>
> ><br>
> > On Fri, Mar 5, 2010 at 9:18 AM, Daniel Goepp <<a href="mailto:dan@goepp.net">dan@goepp.net</a><br>
> <mailto:<a href="mailto:dan@goepp.net">dan@goepp.net</a>><br>
> > <mailto:<a href="mailto:dan@goepp.net">dan@goepp.net</a> <mailto:<a href="mailto:dan@goepp.net">dan@goepp.net</a>>>> wrote:<br>
> ><br>
> > We are doing some interop work with another switch, and it is<br>
> > having some trouble with TCP vs UDP. Because of the packet size<br>
> > for these specific calls we need to do them TCP. However the<br>
> > record-route in our 200 OK has no transport set, and<br>
> according to<br>
> > the RFC, no transport for SIP default is UDP. This means<br>
> that all<br>
> > our signaling is TCP, until we get an ACK back from this<br>
> box, and<br>
> > it then is UDP, but too big and breaks the call. I have<br>
> found the<br>
> > add_rr_param, so I could do a<br>
> add_rr_param(";transport=tcp"), but<br>
> > I only want to do this for calls that are currently using<br>
> TCP. I<br>
> > looked for a function to test the protocol used, but<br>
> couldn't find<br>
> > one. Anyone know what it is? Also, it would seem the<br>
> appropriate<br>
> > thing for OpenSIPS to do would be to automatically put the<br>
> > ;transport=xxx in the RR based on the current protocol of the<br>
> > dialog. Thoughts on that?<br>
> ><br>
> > Thanks<br>
> ><br>
> > -dg<br>
> ><br>
> ><br>
> ><br>
> ------------------------------------------------------------------------<br>
> ><br>
> > _______________________________________________<br>
> > Users mailing list<br>
> > <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> <mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>><br>
<div class="im">> > <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
> ><br>
><br>
><br>
</div>> --<br>
> Bogdan-Andrei Iancu<br>
> <a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a> <<a href="http://www.voice-system.ro" target="_blank">http://www.voice-system.ro</a>><br>
><br>
><br>
> _______________________________________________<br>
> Users mailing list<br>
> <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> <mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>><br>
<div class="im">> <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
><br>
><br>
</div>> ------------------------------------------------------------------------<br>
<div class="im">><br>
> _______________________________________________<br>
> Users mailing list<br>
> <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
> <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
><br>
<br>
<br>
</div><font color="#888888">--<br>
Bogdan-Andrei Iancu<br>
<a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a><br>
</font><div><div></div><div class="h5"><br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br>