[Serusers] loose routing of BYE from UDP to TCP

Klaus Darilion klaus.mailinglists at pernau.at
Thu Sep 29 09:37:25 CEST 2005


Hi Mark!

I do not know it exactly, but I think the important thing is the contact 
header URI of the INVITE. Does it contain a transport=tcp parameter? 
Otherwise, ser is correct when using UDP.

klaus

Mark Aiken wrote:
> Hi,
>  
> 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.
>  
> 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 relayed to the UDP UA now has 2 Record-Route headers added by 
> SER. One has the transport=tcp  parameter.
>  
> Record-Route: <sip:xx.xx.xx.xx;r2=on;ftag=xyz;lr=on>
> Record-Route: <sip:xx.xx.xx.xx;transport=tcp;r2=on;ftag=xyz>
>  
> When the UA sends the BYE to SER, it has the 2 Route headers like so (on 
> a single line):
>  
> Route: 
> <sip:xx.xx.xx.xx;r2=on;ftag=xyz;lr=on>,<sip:xx.xx.xx.xx;transport=tcp;r2=on;ftag=xyz;lr=on>
>  
> The SER script simply calls t_relay() in the loose_route section of the 
> script.
>  
> I expected t_relay() to relay the BYE via TCP, since the Route header 
> has transport=tcp, but it sends the BYE via UDP instead.
>  
> 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()?
>  
> Mark
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list