Someone please correct me if I'm wrong but from a quick look at the
code in (rr and tm) there seems to be no connection between the
transport= param in a Route header (directed at SER itself), and the
transport selected by t_relay().<br>
<br>
Is this by design or just a missing feature?<br>
<br>
It would seem the only way to get t_relay() to use TCP from a loose
routed request would be to add the transport=tcp to the RURI.<br>
<br>
The code in tm and rr is not exactly easy to follow in a couple of
hours so anyone who might understand how this is intended to work
please send me an email. It looks to me as if SER is removing the Route
headers if they are directed to &quot;myself&quot; and not preserving the
transport=tcp information in any way that is used later by t_relay()<br>
<br>
Thanks<br><br><div><span class="gmail_quote">On 9/28/05, <b class="gmail_sendername">Mark Aiken</b> &lt;<a href="mailto:aiken.mark@gmail.com">aiken.mark@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>Hi,</div>
<div>&nbsp;</div>
<div>I'm having problems getting SER to (loose) route requests from UDP
to TCP. I'm not sure if the UA is at fault here or some SER config
issue.</div>
<div>&nbsp;</div>
<div>SER receives an INVITE over TCP, record_route() is called and then
the request is relayed via UDP (t_relay_to_udp) to the UA. The
INVITE&nbsp;relayed to the UDP UA now has 2 Record-Route headers added
by SER. One has the transport=tcp&nbsp; parameter.
</div>
<div>&nbsp;</div>
<div>Record-Route: &lt;sip:xx.xx.xx.xx;r2=on;ftag=xyz;lr=on&gt;</div>
<div>Record-Route: &lt;sip:xx.xx.xx.xx;transport=tcp;r2=on;ftag=xyz&gt;</div>
<div>&nbsp;</div>
<div>When the UA sends the BYE to SER, it has the 2 Route headers like so (on a single line):</div>
<div>&nbsp;</div>
<div>Route: &lt;sip:xx.xx.xx.xx;r2=on;ftag=xyz;lr=on&gt;,&lt;sip:xx.xx.xx.xx;transport=tcp;r2=on;ftag=xyz;lr=on&gt;</div>
<div>&nbsp;</div>
<div>The SER script simply calls t_relay() in the loose_route section of the script.</div>
<div>&nbsp;</div>
<div>I expected&nbsp;t_relay() to relay the BYE via TCP, since the
Route header has transport=tcp, but it sends the BYE via UDP instead.</div>
<div>&nbsp;</div>
<div>Anyone seen this problem before? Do I need to check for
transport=tcp and call t_relay_to_tcp, rather than using t_relay after
loose_route()?</div><span class="sg">
<div>&nbsp;</div>
<div>Mark</div>

</span></blockquote></div><br>