Okay, thanks for the info, I will try serial forking.  As per one of the previous threads regarding this, one of the ways recommended to force a transport was to tag the RURI, for example:<br><br>        if($rd=&quot;<a href="http://proxy.othercompany.com">proxy.othercompany.com</a>&quot;){<br>
                $rd = &quot;<a href="http://proxy.othercompany.com">proxy.othercompany.com</a>;transport=TCP&quot;;<br>        }<br><br>Although this does seem to force the transport, I&#39;m having some troubles with media getting setup when I do this.  Is this the method you would recommend, or do you have a better way to force a specific transport?<br>
<br>Thanks<br><br>-dg<br>
<br><br><div class="gmail_quote">On Thu, Apr 15, 2010 at 9:02 AM, Bogdan-Andrei Iancu <span dir="ltr">&lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;</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;">
exactly, and you can configure in opensips cfg whatever sequence of<br>
protocols to be tried (by doing serial forking).<br>
<div class="im"><br>
Regards,<br>
Bogdan<br>
<br>
Daniel Goepp wrote:<br>
</div><div class="im">&gt; If NAPTR was the method being used, but in this case is not setup.  So<br>
&gt; the problem I&#39;m trying to solve is what to do when the endpoints and<br>
&gt; the other gateways are not being explicit via either URI or DNS.  The<br>
&gt; endpoint is not specifying transport in the RURI, and DNS SRV is setup<br>
&gt; and exists with entries for both TCP and UDP, but no NAPTR.  In this<br>
&gt; case, it&#39;s really leaving it up to the proxy to decide what transport<br>
&gt; to prefer.<br>
&gt;<br>
&gt; -dg<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Apr 15, 2010 at 8:44 AM, Bogdan-Andrei Iancu<br>
</div><div><div></div><div class="h5">&gt; &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Daniel,<br>
&gt;<br>
&gt;     So, the transport to be used is chosen as follows:<br>
&gt;        A)  if &quot;transport&quot; in URI -&gt; use it<br>
&gt;        B)  if no port in URI, try to use NAPTR<br>
&gt;        B1) if NAPTR -&gt; use the advertised protocols as per weight and<br>
&gt;     priority in NAPTR records (in the given order)<br>
&gt;        B2) if no NAPTR -&gt; it is up to the proxy to choose the protocol<br>
&gt;     (obeying the URI scheme, like sips).<br>
&gt;<br>
&gt;     I guess you are referring to B2 case, which you can do in script,<br>
&gt;     using<br>
&gt;     a serial forking scenario (forcing different protos via $du ).<br>
&gt;<br>
&gt;     Regards,<br>
&gt;     Bogdan<br>
&gt;<br>
&gt;     Daniel Goepp wrote:<br>
&gt;     &gt; I did, but I don&#39;t see anything that says it would be a violation of<br>
&gt;     &gt; SIP to try a number of transports in sequence, and to determine that<br>
&gt;     &gt; sequence by the proxy.  And I do understand that this is not a<br>
&gt;     problem<br>
&gt;     &gt; with OpenSIPS, just trying to find a way to accomplish something new<br>
&gt;     &gt; perhaps.  We are working with some other networks which use a<br>
&gt;     &gt; different method of selecting transport.  And we are trying to<br>
&gt;     &gt; implement a similar method to select transport using OpenSIPS.  Very<br>
&gt;     &gt; similar to how route advancing works, but at the transport level.  I<br>
&gt;     &gt; am working now to do it at the scripting level, but just thought<br>
&gt;     this<br>
&gt;     &gt; might be something to consider actually implementing as<br>
&gt;     functionality<br>
&gt;     &gt; at the application level.  Perhaps it is just too unique of a<br>
&gt;     problem<br>
&gt;     &gt; and not worth it.  The problem I believe is UDP is clearly the most<br>
&gt;     &gt; commonly used transport, but as devices get more capable (for<br>
&gt;     example<br>
&gt;     &gt; in our situation with large SDPs for video, and traversing multiple<br>
&gt;     &gt; proxies adding record routes), packet sizes get larger, and TCP<br>
&gt;     &gt; becomes a more reliable transport.  Additionally many folks we work<br>
&gt;     &gt; with would prefer that is a secure connection is available, then it<br>
&gt;     &gt; should be used.  So the defaults on their network proxies will<br>
&gt;     attempt<br>
&gt;     &gt; in the order of TLS, TCP then UDP to place a call.<br>
&gt;     &gt;<br>
&gt;     &gt; I will continue my work to try to get this going, but thought I<br>
&gt;     would<br>
&gt;     &gt; post for comments here to get thoughts on the matter, or<br>
&gt;     &gt; recommendations on how this would be best implemented using<br>
&gt;     OpenSIPS.<br>
&gt;     &gt;<br>
&gt;     &gt; Thanks.<br>
&gt;     &gt;<br>
&gt;     &gt; -dg<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt; On Thu, Apr 15, 2010 at 1:59 AM, Bogdan-Andrei Iancu<br>
&gt;     &gt; &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;<br>
</div></div>&gt;     &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;&gt;&gt;<br>
<div><div></div><div class="h5">&gt;     wrote:<br>
&gt;     &gt;<br>
&gt;     &gt;     Hi Daniel,<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;     Have you read RFC3263 about Locating SIP Servers  (with proto<br>
&gt;     &gt;     selection)  ?<br>
&gt;     &gt;<br>
&gt;     &gt;        <a href="http://www.ietf.org/rfc/rfc3263.txt" target="_blank">http://www.ietf.org/rfc/rfc3263.txt</a><br>
&gt;     &gt;<br>
&gt;     &gt;     Regards,<br>
&gt;     &gt;     Bogdan<br>
&gt;     &gt;<br>
&gt;     &gt;     Daniel Goepp wrote:<br>
&gt;     &gt;     &gt; I had a previous question regarding default transport, and the<br>
&gt;     &gt;     &gt; response I got was that the RFC says the order should be UDP,<br>
&gt;     &gt;     TCP then<br>
&gt;     &gt;     &gt; TLS.  However after reading into this further (and some recent<br>
&gt;     &gt;     &gt; experiences with other platforms) I&#39;m wondering if I have<br>
&gt;     a new<br>
&gt;     &gt;     &gt; feature request for OpenSIPS.  &gt;From the RFC 3263 -<br>
&gt;     Section 4.1<br>
&gt;     &gt;     &gt; Selecting a Transport Protocol, I read it as saying:<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; 1.  If specified in the RURI it SHOULD use this (but doesn&#39;t<br>
&gt;     &gt;     have to)<br>
&gt;     &gt;     &gt; 2.  Bunch of stuff on NAPTR (which we are not doing)<br>
&gt;     &gt;     &gt; 3.  The section related to what we are doing:<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; -----clip-----<br>
&gt;     &gt;     &gt; If no NAPTR records are found, the client constructs SRV<br>
&gt;     queries for<br>
&gt;     &gt;     &gt; those transport protocols it supports, and does a query<br>
&gt;     for each.<br>
&gt;     &gt;     &gt; Queries are done using the service identifier &quot;_sip&quot; for SIP<br>
&gt;     &gt;     URIs and<br>
&gt;     &gt;     &gt; &quot;_sips&quot; for SIPS URIs. A particular transport is supported<br>
&gt;     if the<br>
&gt;     &gt;     &gt; query is successful. The client MAY use any transport<br>
&gt;     protocol it<br>
&gt;     &gt;     &gt; desires which is supported by the server.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; This is a change from RFC 2543. It specified that a client<br>
&gt;     would<br>
&gt;     &gt;     &gt; lookup SRV records for all transports it supported, and<br>
&gt;     merge the<br>
&gt;     &gt;     &gt; priority values across those records. Then, it would<br>
&gt;     choose the<br>
&gt;     &gt;     &gt; most preferred record.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; If no SRV records are found, the client SHOULD use TCP for<br>
&gt;     a SIPS<br>
&gt;     &gt;     &gt; URI, and UDP for a SIP URI. However, another transport<br>
&gt;     protocol,<br>
&gt;     &gt;     &gt; such as TCP, MAY be used if the guidelines of SIP mandate<br>
&gt;     it for<br>
&gt;     &gt;     this<br>
&gt;     &gt;     &gt; particular request. That is the case, for example, for<br>
&gt;     requests that<br>
&gt;     &gt;     &gt; exceed the path MTU.<br>
&gt;     &gt;     &gt; -----clip-----<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; The way I read this is that OpenSIPS MAY select whatever<br>
&gt;     &gt;     transport it<br>
&gt;     &gt;     &gt; likes, and if no DNS SRV is found, then it would default to<br>
&gt;     &gt;     using UDP<br>
&gt;     &gt;     &gt; first for SIP.  But in our set, DNS SRV does exist, and there<br>
&gt;     &gt;     are both<br>
&gt;     &gt;     &gt; TCP and UDP records.  We would like to decide the default<br>
&gt;     transport<br>
&gt;     &gt;     &gt; order to use, starting with TLS then TCP then UDP.  I think I<br>
&gt;     &gt;     can try<br>
&gt;     &gt;     &gt; to write something in the script to do this, but I&#39;m not sure<br>
&gt;     &gt;     yet.  I<br>
&gt;     &gt;     &gt; don&#39;t want to rewrite the RURI, I just want to specify the<br>
&gt;     &gt;     transport.<br>
&gt;     &gt;     &gt; It would be great if there was a global variable defined<br>
&gt;     in the<br>
&gt;     &gt;     config<br>
&gt;     &gt;     &gt; that was something like &quot;transport_order=TLS,TCP,UDP&quot;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; Thoughts?<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; -dg<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     ------------------------------------------------------------------------<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; _______________________________________________<br>
&gt;     &gt;     &gt; Users mailing list<br>
&gt;     &gt;     &gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
</div></div>&gt;     &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;&gt;<br>
<div class="im">&gt;     &gt;     &gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;     --<br>
&gt;     &gt;     Bogdan-Andrei Iancu<br>
&gt;     &gt;     <a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a> &lt;<a href="http://www.voice-system.ro" target="_blank">http://www.voice-system.ro</a>&gt;<br>
&gt;     &lt;<a href="http://www.voice-system.ro" target="_blank">http://www.voice-system.ro</a>&gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;     _______________________________________________<br>
&gt;     &gt;     Users mailing list<br>
&gt;     &gt;     <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
</div>&gt;     &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;&gt;<br>
<div><div></div><div class="h5">&gt;     &gt;     <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     ------------------------------------------------------------------------<br>
&gt;     &gt;<br>
&gt;     &gt; _______________________________________________<br>
&gt;     &gt; Users mailing list<br>
&gt;     &gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
&gt;     &gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;     &gt;<br>
&gt;<br>
&gt;<br>
&gt;     --<br>
&gt;     Bogdan-Andrei Iancu<br>
&gt;     <a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a> &lt;<a href="http://www.voice-system.ro" target="_blank">http://www.voice-system.ro</a>&gt;<br>
&gt;<br>
&gt;<br>
&gt;     _______________________________________________<br>
&gt;     Users mailing list<br>
&gt;     <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
&gt;     <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
<br>
<br>
--<br>
Bogdan-Andrei Iancu<br>
<a href="http://www.voice-system.ro" target="_blank">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><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>