Hi All.
Disregard my last cry for help.
I accidentally had a t_relay() for BYE messages before my loose_route() and that was causing obviously bad things to happen.
Regards, Paul
--- Java Rockx javarockx@yahoo.com wrote:
Hi All.
I think I've identified a bug with how ser-0.9 handles BYE messages. It seems that ser-0.9 is not honoring Record-Route headers when sending BYE messages.
Below is a complete SIP conversation between my GrandStream BT100 phone and a PSTN phone. We use a 3rd party for PSTN access and they utilize a Sonus box for SIP-to-TDM and a seperate SIP proxy.
The actual problem is this; when a SIP phone hangs up **FIRST** the BYE message is sent to their Sonus Box directly rather than to their SIP proxy. Their Sonus box is listed as the "Contact" field in the SDP of the INVITE. The original INVITE was Record-Routed so shouldn't the BYE be sent to this IP rather than to the other end-point directly?
When the phones go off-hook, our PSTN provider sends us a 200 OK which we ACK correctly, but then the BYE is wrong.
Can anyone look at this conversation and tell me why the BYE is sent to 216.229.118.76 rather than 216.229.127.60?
Regards, Paul
IP LEGEND
68.84.100.10 - PUBLIC SIDE OF MY LAN FIREWALL 68.84.199.18 - IP ADDRESS OF MY SER SIP PROXY 216.229.127.60 - IP ADDRESS OF 3RD PARTY SIP PROXY 216.229.118.76 - IP ADDRESS OF 3RD PARTY SONUS BOX
U 2005/01/21 11:38:14.259621 68.84.100.10:63689 -> 68.84.199.18:5060 INVITE sip:3219392336@mycompany.com;user=phone SIP/2.0. Via: SIP/2.0/UDP 192.168.0.83:63689;branch=z9hG4bK67f005c3c771821e. From: "Paul Hazlett" sip:3212514231@mycompany.com;user=phone;tag=2440ace3b188639c. To: sip:3219392336@mycompany.com;user=phone. Contact: sip:3212514231@192.168.0.83:63689;user=phone. Supported: replaces. Call-ID: 870d0fdeaa2f0d0f@192.168.0.83. CSeq: 27735 INVITE. User-Agent: Grandstream BT100 1.0.5.16. Max-Forwards: 70. Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE. Content-Type: application/sdp. Content-Length: 411. . v=0. o=3212514231 0 8000 IN IP4 192.168.0.83. s=SIP Call. c=IN IP4 192.168.0.83. t=0 0. m=audio 39738 RTP/AVP 98 18 4 15 2 9 0 8 101. a=sendrecv. a=rtpmap:98 iLBC/8000. a=fmtp:98 mode=20. a=rtpmap:18 G729/8000. a=rtpmap:4 G723/8000. a=rtpmap:15 G728/8000. a=rtpmap:2 G726-32/8000. a=rtpmap:9 G722/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:8 PCMA/8000. a=ptime:40. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11.
# U 2005/01/21 11:38:14.264900 68.84.199.18:5060 -> 68.84.100.10:63689 SIP/2.0 407 Proxy Authentication Required. Via: SIP/2.0/UDP 192.168.0.83:63689;branch=z9hG4bK67f005c3c771821e;rport=63689;received=68.84.100.10. From: "Paul Hazlett" sip:3212514231@mycompany.com;user=phone;tag=2440ace3b188639c. To: sip:3219392336@mycompany.com;user=phone;tag=bf952ed189d8425c881b09485aa0b6f1.954a. Call-ID: 870d0fdeaa2f0d0f@192.168.0.83. CSeq: 27735 INVITE. Proxy-Authenticate: Digest realm="mycompany.com", nonce="41f13122784651d60bfa0cd3d5778587c1105f35". Server: Sip eXpress Router (0.9.0 (i386/linux)). Content-Length: 0. .
# U 2005/01/21 11:38:14.270933 68.84.100.10:63689 -> 68.84.199.18:5060 ACK sip:3219392336@mycompany.com;user=phone SIP/2.0. Via: SIP/2.0/UDP 192.168.0.83:63689;branch=z9hG4bK67f005c3c771821e. From: "Paul Hazlett" sip:3212514231@mycompany.com;user=phone;tag=2440ace3b188639c. To: sip:3219392336@mycompany.com;user=phone;tag=bf952ed189d8425c881b09485aa0b6f1.954a. Contact: sip:3212514231@192.168.0.83:63689;user=phone. Call-ID: 870d0fdeaa2f0d0f@192.168.0.83. CSeq: 27735 ACK. User-Agent: Grandstream BT100 1.0.5.16. Max-Forwards: 70. Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE. Content-Length: 0. .
# U 2005/01/21 11:38:14.288516 68.84.100.10:63689 -> 68.84.199.18:5060 INVITE sip:3219392336@mycompany.com;user=phone SIP/2.0. Via: SIP/2.0/UDP 192.168.0.83:63689;branch=z9hG4bK7779e54c00e334a6. From: "Paul Hazlett" sip:3212514231@mycompany.com;user=phone;tag=2440ace3b188639c. To: sip:3219392336@mycompany.com;user=phone. Contact: sip:3212514231@192.168.0.83:63689;user=phone. Supported: replaces. Proxy-Authorization: DIGEST username="3212514231", realm="mycompany.com", algorithm=MD5, uri="sip:3219392336@mycompany.com;user=phone", nonce="41f13122784651d60bfa0cd3d5778587c1105f35", response="2463041979c1bb36367b0d9d06bfa966". Call-ID: 870d0fdeaa2f0d0f@192.168.0.83. CSeq: 27736 INVITE. User-Agent: Grandstream BT100 1.0.5.16. Max-Forwards: 70. Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE. Content-Type: application/sdp. Content-Length: 411. . v=0. o=3212514231 1 8000 IN IP4 192.168.0.83. s=SIP Call. c=IN IP4 192.168.0.83. t=0 0. m=audio 39738 RTP/AVP 98 18 4 15 2 9 0 8 101. a=sendrecv. a=rtpmap:98 iLBC/8000. a=fmtp:98 mode=20. a=rtpmap:18 G729/8000. a=rtpmap:4 G723/8000. a=rtpmap:15 G728/8000. a=rtpmap:2 G726-32/8000. a=rtpmap:9 G722/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:8 PCMA/8000. a=ptime:40. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11.
# U 2005/01/21 11:38:14.304423 68.84.199.18:5060 -> 68.84.100.10:63689 SIP/2.0 100 Trying. Via: SIP/2.0/UDP 192.168.0.83:63689;branch=z9hG4bK7779e54c00e334a6;rport=63689;received=68.84.100.10. From: "Paul Hazlett" sip:3212514231@mycompany.com;user=phone;tag=2440ace3b188639c. To: sip:3219392336@mycompany.com;user=phone. Call-ID: 870d0fdeaa2f0d0f@192.168.0.83. CSeq: 27736 INVITE. Server: Sip eXpress Router (0.9.0 (i386/linux)). Content-Length: 0. .
# U 2005/01/21 11:38:14.304581 68.84.199.18:5060 -> 216.229.127.60:5060 INVITE sip:3219392336@216.229.127.60;user=phone SIP/2.0. Record-Route: sip:68.84.199.18;ftag=2440ace3b188639c;lr=on. Via: SIP/2.0/UDP 68.84.199.18;branch=z9hG4bKd55a.8a20c236.0. Via: SIP/2.0/UDP 192.168.0.83:63689;rport=63689;received=68.84.100.10;branch=z9hG4bK7779e54c00e334a6. From: "Paul Hazlett" sip:3212514231@mycompany.com;user=phone;tag=2440ace3b188639c. To: sip:3219392336@mycompany.com;user=phone. Contact: sip:3212514231@68.84.100.10:63689;user=phone. Supported: replaces. Proxy-Authorization: DIGEST username="3212514231", realm="mycompany.com", algorithm=MD5, uri="sip:3219392336@mycompany.com;user=phone", nonce="41f13122784651d60bfa0cd3d5778587c1105f35", response="2463041979c1bb36367b0d9d06bfa966". Call-ID: 870d0fdeaa2f0d0f@192.168.0.83. CSeq: 27736 INVITE. User-Agent: Grandstream BT100 1.0.5.16. Max-Forwards: 16. Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE. Content-Type: application/sdp. Content-Length: 412. . v=0. o=3212514231 1 8000 IN IP4 192.168.0.83. s=SIP Call. c=IN IP4 68.84.199.18. t=0 0. m=audio 36096 RTP/AVP 98 18 4 15 2 9 0 8 101. a=sendrecv. a=rtpmap:98 iLBC/8000. a=fmtp:98 mode=20. a=rtpmap:18 G729/8000. a=rtpmap:4 G723/8000. a=rtpmap:15 G728/8000. a=rtpmap:2 G726-32/8000. a=rtpmap:9 G722/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:8 PCMA/8000. a=ptime:40. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-11.
# U 2005/01/21 11:38:14.370297 216.229.127.60:5060 -> 68.84.199.18:5060 SIP/2.0 100 Try. Via: SIP/2.0/UDP 68.84.199.18;branch=z9hG4bKd55a.8a20c236.0. Via: SIP/2.0/UDP 192.168.0.83:63689;rport=63689;received=68.84.100.10;branch=z9hG4bK7779e54c00e334a6. To: sip:3219392336@mycompany.com;user=phone.
=== message truncated ===
__________________________________ Do you Yahoo!? Yahoo! Mail - now with 250MB free storage. Learn more. http://info.mail.yahoo.com/mail_250