[Users] UDP -> TCP BYE goes astray

Daniel-Constantin Mierla daniel at voice-system.ro
Thu Mar 2 13:06:27 CET 2006


Hello,

On 03/02/06 08:25, Dr. Rodney G. McDuff wrote:
> I have  an * server at XXX.XXX.2.46 and an opener 1.0.1 server at
> XXX.XXX.2.40 and a Windows messenger 5.1 UA at YYY.YYY.152.57. When WM5
> is configured to use UDP a BYE transmitted my the * server is properly
> transmitted to the WM5 UA via the Openser proxy. All is good.
>
>   
>> U 2006/03/02 15:17:27.332828 XXX.XXX.2.46:5060 -> XXX.XXX.2.40:5060
>> BYE sip:YYY.YYY.152.57:16478 SIP/2.0.
>> Via: SIP/2.0/UDP XXX.XXX.2.46:5060;branch=z9hG4bK6a5f9584;rport.
>> Route: <sip:XXX.XXX.2.40;ftag=8400e0fa7cbe4cb5a23e935b7d64c1f3;lr=on>.
>> From: <sip:55555 at domain.net>;tag=as25ec0bbf.
>> To: "user at domain.net"
>> <sip:user at domain.net>;tag=8400e0fa7cbe4cb5a23e935b7d64c1f3;epid=1339bc4029.
>> Contact: <sip:55555 at XXX.XXX.2.46>.
>> Call-ID: 45ddd129b23b48e791d5f82093a130a1.
>> CSeq: 102 BYE.
>> User-Agent: Asterisk PBX.
>> Max-Forwards: 70.
>> Content-Length: 0.
>>
>>
>> U 2006/03/02 15:17:27.344137 XXX.XXX.2.40:5060 -> YYY.YYY.152.57:16478
>> BYE sip:YYY.YYY.152.57:16478 SIP/2.0.
>> Record-Route: <sip:XXX.XXX.2.40;ftag=as25ec0bbf;lr=on>.
>> Via: SIP/2.0/UDP XXX.XXX.2.40;branch=z9hG4bK9ffb.cfbffdb2.0.
>> Via: SIP/2.0/UDP XXX.XXX.2.46:5060;branch=z9hG4bK6a5f9584;rport=5060.
>> From: <sip:55555 at domain.net>;tag=as25ec0bbf.
>> To: "user at domain.net"
>> <sip:user at domain.net>;tag=8400e0fa7cbe4cb5a23e935b7d64c1f3;epid=1339bc4029.
>> Contact: <sip:55555 at XXX.XXX.2.46>.
>> Call-ID: 45ddd129b23b48e791d5f82093a130a1.
>> CSeq: 102 BYE.
>> User-Agent: Asterisk PBX.
>> Max-Forwards: 69.
>> Content-Length: 0.
>>
>>     
> However when the WM5 UA is configured to use TCP the RURI over written
> by the first Route header and the BYE goes nowhere with a 404 error. Why
> is this so and how can it be overcome.
>
>   
>> U 2006/03/02 15:07:59.622462 XXX.XXX.2.46:5060 -> XXX.XXX.2.40:5060
>> BYE sip:user at domain.net:8923 SIP/2.0.
>> Via: SIP/2.0/UDP XXX.XXX.2.46:5060;branch=z9hG4bK3fb57de2;rport.
>> Route:
>> <sip:XXX.XXX.2.40;transport=tcp;ftag=3cc4119df7fb42e9a4bccbb508466931;lr=on>.
>> From: <sip:55555 at domain.net>;tag=as3338df1d.
>> To: "user at domain.net"
>> <sip:user at domain.net>;tag=3cc4119df7fb42e9a4bccbb508466931;epid=f272a56bbd.
>> Contact: <sip:55555 at XXX.XXX.2.46>.
>> Call-ID: 3ff00aceaba0435a9ed23dc01dc7a77a.
>> CSeq: 102 BYE.
>> User-Agent: Asterisk PBX.
>> Max-Forwards: 70.
>> Content-Length: 0.
>>
>>
>>
>> T 2006/03/02 15:07:59.643864 XXX.XXX.2.40:42664 -> XXX.XXX.2.40:5060 [AP]
>> BYE
>> sip:XXX.XXX.2.40;transport=tcp;ftag=3cc4119df7fb42e9a4bccbb508466931;lr=on
>> SIP/2.0.
>> Record-Route: <sip:XXX.XXX.2.40;ftag=as3338df1d;lr=on>.
>> Via: SIP/2.0/TCP XXX.XXX.2.40;branch=z9hG4bK5419.1af2f513.0.
>> Via: SIP/2.0/UDP XXX.XXX.2.46:5060;branch=z9hG4bK3fb57de2;rport=5060.
>> From: <sip:55555 at domain.net>;tag=as3338df1d.
>> To: "user at domain.net"
>> <sip:user at domain.net>;tag=3cc4119df7fb42e9a4bccbb508466931;epid=f272a56bbd.
>> Contact: <sip:55555 at XXX.XXX.2.46>.
>> Call-ID: 3ff00aceaba0435a9ed23dc01dc7a77a.
>> CSeq: 102 BYE.
>> User-Agent: Asterisk PBX.
>> Max-Forwards: 69.
>> Content-Length: 0.
>> T 2006/03/02 15:07:59.656229 XXX.XXX.2.40:5060 -> XXX.XXX.2.40:42664 [AP]
>> SIP/2.0 404 User Not Found.
>> Via: SIP/2.0/TCP XXX.XXX.2.40;branch=z9hG4bK5419.1af2f513.0.
>> Via: SIP/2.0/UDP XXX.XXX.2.46:5060;branch=z9hG4bK3fb57de2;rport=5060.
>> From: <sip:55555 at domain.net>;tag=as3338df1d.
>> To: "user at domain.net"
>> <sip:user at domain.net>;tag=3cc4119df7fb42e9a4bccbb508466931;epid=f272a56bbd.
>> Call-ID: 3ff00aceaba0435a9ed23dc01dc7a77a.
>> CSeq: 102 BYE.
>> Server: OpenSer (1.0.1-tls (i386/linux)).
>> Content-Length: 0.
>>     
does openser listen on domain.net:8923? Because "domain.net:8923" 
matches the "myself" variable and the proxy considers the BYE as being 
strict routed.

However, the difference between the BYE sent over UDP and the one sent 
over TCP is the R-URI. Also, as you do protocol bridging (TCP to UDP), 
openser should put two Record-Routes (inbound (TCP) and outbound(UDP)) 
in the INVITE. To give more hints about what happens, please send the 
full network trace for call made over tcp (INVITE-ACK-BYE) and please 
run the proxy in full debug mode to see the log messages (debug=7 and 
log_stderror=yes).

Cheers,
Daniel

>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
>   




More information about the Users mailing list