I did, but I don't see anything that says it would be a violation of SIP to try a number of transports in sequence, and to determine that sequence by the proxy. And I do understand that this is not a problem with OpenSIPS, just trying to find a way to accomplish something new perhaps. We are working with some other networks which use a different method of selecting transport. And we are trying to implement a similar method to select transport using OpenSIPS. Very similar to how route advancing works, but at the transport level. I am working now to do it at the scripting level, but just thought this might be something to consider actually implementing as functionality at the application level. Perhaps it is just too unique of a problem and not worth it. The problem I believe is UDP is clearly the most commonly used transport, but as devices get more capable (for example in our situation with large SDPs for video, and traversing multiple proxies adding record routes), packet sizes get larger, and TCP becomes a more reliable transport. Additionally many folks we work with would prefer that is a secure connection is available, then it should be used. So the defaults on their network proxies will attempt in the order of TLS, TCP then UDP to place a call.<br>
<br>I will continue my work to try to get this going, but thought I would post for comments here to get thoughts on the matter, or recommendations on how this would be best implemented using OpenSIPS.<br><br>Thanks.<br><br>
-dg<br>
<br><br><div class="gmail_quote">On Thu, Apr 15, 2010 at 1:59 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;">
Hi Daniel,<br>
<br>
<br>
Have you read RFC3263 about Locating SIP Servers (with proto selection) ?<br>
<br>
<a href="http://www.ietf.org/rfc/rfc3263.txt" target="_blank">http://www.ietf.org/rfc/rfc3263.txt</a><br>
<br>
Regards,<br>
Bogdan<br>
<div><div></div><div class="h5"><br>
Daniel Goepp wrote:<br>
> I had a previous question regarding default transport, and the<br>
> response I got was that the RFC says the order should be UDP, TCP then<br>
> TLS. However after reading into this further (and some recent<br>
> experiences with other platforms) I'm wondering if I have a new<br>
> feature request for OpenSIPS. >From the RFC 3263 - Section 4.1<br>
> Selecting a Transport Protocol, I read it as saying:<br>
><br>
> 1. If specified in the RURI it SHOULD use this (but doesn't have to)<br>
> 2. Bunch of stuff on NAPTR (which we are not doing)<br>
> 3. The section related to what we are doing:<br>
><br>
> -----clip-----<br>
> If no NAPTR records are found, the client constructs SRV queries for<br>
> those transport protocols it supports, and does a query for each.<br>
> Queries are done using the service identifier "_sip" for SIP URIs and<br>
> "_sips" for SIPS URIs. A particular transport is supported if the<br>
> query is successful. The client MAY use any transport protocol it<br>
> desires which is supported by the server.<br>
><br>
> This is a change from RFC 2543. It specified that a client would<br>
> lookup SRV records for all transports it supported, and merge the<br>
> priority values across those records. Then, it would choose the<br>
> most preferred record.<br>
><br>
> If no SRV records are found, the client SHOULD use TCP for a SIPS<br>
> URI, and UDP for a SIP URI. However, another transport protocol,<br>
> such as TCP, MAY be used if the guidelines of SIP mandate it for this<br>
> particular request. That is the case, for example, for requests that<br>
> exceed the path MTU.<br>
> -----clip-----<br>
><br>
> The way I read this is that OpenSIPS MAY select whatever transport it<br>
> likes, and if no DNS SRV is found, then it would default to using UDP<br>
> first for SIP. But in our set, DNS SRV does exist, and there are both<br>
> TCP and UDP records. We would like to decide the default transport<br>
> order to use, starting with TLS then TCP then UDP. I think I can try<br>
> to write something in the script to do this, but I'm not sure yet. I<br>
> don't want to rewrite the RURI, I just want to specify the transport.<br>
> It would be great if there was a global variable defined in the config<br>
> that was something like "transport_order=TLS,TCP,UDP"<br>
><br>
> Thoughts?<br>
><br>
> -dg<br>
</div></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>