[Serdev] [BUG] Closed: (SER-48) Improper Handling Of Negative
Replies When Using Serial Forking
Jan Janak (JIRA)
serdev at lists.iptel.org
Thu Sep 29 16:36:23 UTC 2005
[ http://bugs.sip-router.org/browse/SER-48?page=history ]
Jan Janak closed SER-48:
------------------------
Resolution: Duplicate
Fix Version: HEAD
Will be closed by SER-73
> Improper Handling Of Negative Replies When Using Serial Forking
> ---------------------------------------------------------------
>
> Key: SER-48
> URL: http://bugs.sip-router.org/browse/SER-48
> Project: SIP Express Router
> Type: Bug
> Components: tm
> Versions: 0.9.3
> Environment: RedHat Enterprise Linux 3.0
> Reporter: Paul Hazlett
> Assignee: Jan Janak
> Fix For: HEAD
>
> When using SER to perform serial-forking, the TM module does not properly process negative replies. Below is a SIP message log that shows an INVITE being sent to another SIP phone that has call forwarding enabled. Call forwarding is implemented in the failure_route[] of the ser.cfg file using avp_pushto(), append_branch(), and t_relay().
> When the busy SIP UA replies with a "486 Busy" message, SER enters the failure_route[] and serially forks the call. It then sends a new INVITE to the forwarded destination. After the new call leg is cancelled the "486 Busy" that was recieved prior to forking the call is magically sent back to the calling SIP UA, but this is after all other messages are processed. The final two (2) message in the attached call log show this.
> Below is a statement from Bogdan on the subject.
> Quote from Bodan:
> "the problem is due the branch selection mechanism - during parallel and serial forking the branch to be sent to UAC is the one with the smaller code ; so in after the branch, you get 487 Cancelled and still the 486 Busy will be selected. From my point of view this is a bug in serial forking implementation. This issue was fixed in OpenSER. See http://openser.org/pipermail/users/2005-June/000004.html"
> U 2005/06/22 11:30:09.877341 71.99.100.101:1105 -> 10.2.20.21:5060
> INVITE sip:3215550000 at sip.mycompany.com SIP/2.0.
> Via: SIP/2.0/UDP 10.99.47.102:5060;branch=z9hG4bK845928821.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 300 INVITE.
> Contact: <sip:4075559999 at 10.99.47.102:5060>.
> max-forwards: 70.
> Allow: INVITE, ACK, CANCEL, BYE, REFER, NOTIFY.
> Content-Type: application/sdp.
> Content-Length: 178.
> .
> v=0.
> o=- 10231 3023 IN IP4 10.99.47.102.
> s=-.
> c=IN IP4 10.99.47.102.
> t=0 0.
> m=audio 13456 RTP/AVP 0 8 2 4 18 101.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
>
>
> U 2005/06/22 11:30:09.886368 10.2.20.21:5060 -> 71.99.100.101:1105
> SIP/2.0 407 Proxy Authentication Required.
> Via: SIP/2.0/UDP 10.99.47.102:5060;branch=z9hG4bK845928821;rport=1105;received=71.99.100.101.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=1fe477f7999553e49c27ea343e9a9216.a61e.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 300 INVITE.
> Proxy-Authenticate: Digest realm="sip.mycompany.com", nonce="42b9852d9bf1f9e07dce81b5f490cd7db9c3a5cb", qop="auth".
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:10.039330 71.99.100.101:1105 -> 10.2.20.21:5060
> ACK sip:3215550000 at sip.mycompany.com SIP/2.0.
> Via: SIP/2.0/UDP 10.99.47.102:5060;branch=z9hG4bK845928821.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=1fe477f7999553e49c27ea343e9a9216.a61e.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 300 ACK.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:10.161309 71.99.100.101:1105 -> 10.2.20.21:5060
> INVITE sip:3215550000 at sip.mycompany.com SIP/2.0.
> Via: SIP/2.0/UDP 10.99.47.102:5060;branch=z9hG4bK256996988.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> Contact: <sip:4075559999 at 10.99.47.102:5060>.
> Proxy-Authorization: Digest username="4075559999", realm="sip.mycompany.com", nonce="42b9852d9bf1f9e07dce81b5f490cd7db9c3a5cb", uri="sip:3215550000 at sip.mycompany.com", response="4d1076d3f8b4e348ea1666ec45351a42", algorithm=MD5, cnonce="2bddf808d944c1ac18add98d49b8c031", qop=auth, nc=00000005.
> max-forwards: 70.
> Allow: INVITE, ACK, CANCEL, BYE, REFER, NOTIFY.
> Content-Type: application/sdp.
> Content-Length: 178.
> .
> v=0.
> o=- 10231 3023 IN IP4 10.99.47.102.
> s=-.
> c=IN IP4 10.99.47.102.
> t=0 0.
> m=audio 13456 RTP/AVP 0 8 2 4 18 101.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
>
>
> U 2005/06/22 11:30:10.226992 10.2.20.21:5060 -> 71.99.100.101:1105
> SIP/2.0 100 Trying.
> Via: SIP/2.0/UDP 10.99.47.102:5060;branch=z9hG4bK256996988;rport=1105;received=71.99.100.101.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:10.227613 10.2.20.21:5060 -> 66.90.46.29:9534
> INVITE sip:3215550000 at 66.90.46.29:9534;user=phone SIP/2.0.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.0.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> Contact: <sip:4075559999 at 71.99.100.101:1105>.
> max-forwards: 16.
> Allow: INVITE, ACK, CANCEL, BYE, REFER, NOTIFY.
> Content-Type: application/sdp.
> Content-Length: 175.
> P-hint: Local Destination.
> .
> v=0.
> o=- 10231 3023 IN IP4 10.99.47.102.
> s=-.
> c=IN IP4 10.3.0.44.
> t=0 0.
> m=audio 36144 RTP/AVP 0 8 2 4 18 101.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
>
>
> U 2005/06/22 11:30:10.356381 66.90.46.29:9534 -> 10.2.20.21:5060
> SIP/2.0 100 Trying.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.0.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> User-Agent: Grandstream BT100 1.0.5.22.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:10.365636 66.90.46.29:9534 -> 10.2.20.21:5060
> SIP/2.0 486 Busy.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.0.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=6052578f448e8c60.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> User-Agent: Grandstream BT100 1.0.5.22.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:10.366767 10.2.20.21:5060 -> 66.90.46.29:9534
> ACK sip:3215550000 at 66.90.46.29:9534;user=phone SIP/2.0.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.0.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> Call-ID: 1206868322 at 10.99.47.102.
> To: <sip:3215550000 at sip.mycompany.com>;tag=6052578f448e8c60.
> CSeq: 301 ACK.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:10.387854 10.2.20.21:5060 -> 66.90.46.29:5060
> INVITE sip:3215591422 at 66.90.46.29:5060;user=phone SIP/2.0.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.1.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> Contact: <sip:4075559999 at 71.99.100.101:1105>.
> max-forwards: 16.
> Allow: INVITE, ACK, CANCEL, BYE, REFER, NOTIFY.
> Content-Type: application/sdp.
> Content-Length: 175.
> P-hint: Local Destination.
> P-hint: Forward Busy.
> .
> v=0.
> o=- 10231 3023 IN IP4 10.99.47.102.
> s=-.
> c=IN IP4 10.3.0.44.
> t=0 0.
> m=audio 36144 RTP/AVP 0 8 2 4 18 101.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
>
>
> U 2005/06/22 11:30:10.515511 66.90.46.29:5060 -> 10.2.20.21:5060
> SIP/2.0 100 Trying.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.1.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> User-Agent: Grandstream BT100 1.0.6.3.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:10.524907 66.90.46.29:5060 -> 10.2.20.21:5060
> SIP/2.0 180 Ringing.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.1.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=79fe39bbac0500c1.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> User-Agent: Grandstream BT100 1.0.6.3.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:10.525545 10.2.20.21:5060 -> 71.99.100.101:1105
> SIP/2.0 180 Ringing.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=79fe39bbac0500c1.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> User-Agent: Grandstream BT100 1.0.6.3.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:14.217891 71.99.100.101:1105 -> 10.2.20.21:5060
> CANCEL sip:3215550000 at sip.mycompany.com SIP/2.0.
> Via: SIP/2.0/UDP 10.99.47.102:5060;branch=z9hG4bK256996988.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 CANCEL.
> max-forwards: 70.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:14.231433 10.2.20.21:5060 -> 66.90.46.29:5060
> CANCEL sip:3215591422 at 66.90.46.29:5060;user=phone SIP/2.0.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.1.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 CANCEL.
> max-forwards: 16.
> Content-Length: 0.
> P-hint: Local Destination.
> .
>
>
> U 2005/06/22 11:30:14.236203 10.2.20.21:5060 -> 71.99.100.101:1105
> SIP/2.0 200 canceling.
> Via: SIP/2.0/UDP 10.99.47.102:5060;branch=z9hG4bK256996988;rport=1105;received=71.99.100.101.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=6310aaf6cb6aa68cca9add6fbfab6d5f-84ff.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 CANCEL.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:14.357391 66.90.46.29:5060 -> 10.2.20.21:5060
> SIP/2.0 200 OK.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.1.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=ea9d53a35f368d2c.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 CANCEL.
> User-Agent: Grandstream BT100 1.0.6.3.
> Contact: <sip:3215591422 at 172.31.130.83;user=phone>.
> Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE.
> Supported: replaces.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:14.363088 66.90.46.29:5060 -> 10.2.20.21:5060
> SIP/2.0 487 Request Cancelled.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.1.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=131981a71ac26bed.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> User-Agent: Grandstream BT100 1.0.6.3.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:14.363534 10.2.20.21:5060 -> 66.90.46.29:5060
> ACK sip:3215591422 at 66.90.46.29:5060;user=phone SIP/2.0.
> Via: SIP/2.0/UDP 10.3.0.42;branch=z9hG4bK1cca.129837b2.1.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> Call-ID: 1206868322 at 10.99.47.102.
> To: <sip:3215550000 at sip.mycompany.com>;tag=131981a71ac26bed.
> CSeq: 301 ACK.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:14.363910 10.2.20.21:5060 -> 71.99.100.101:1105
> SIP/2.0 486 Busy.
> Via: SIP/2.0/UDP 10.99.47.102:5060;rport=1105;received=71.99.100.101;branch=z9hG4bK256996988.
> Record-Route: <sip:10.3.0.42:5060;lr>.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=6052578f448e8c60.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 INVITE.
> User-Agent: Grandstream BT100 1.0.5.22.
> Content-Length: 0.
> .
>
>
> U 2005/06/22 11:30:14.598784 71.99.100.101:1105 -> 10.2.20.21:5060
> ACK sip:3215550000 at sip.mycompany.com SIP/2.0.
> Via: SIP/2.0/UDP 10.99.47.102:5060;branch=z9hG4bK256996988.
> From: 4075559999 <sip:4075559999 at sip.mycompany.com>;tag=3734116179.
> To: <sip:3215550000 at sip.mycompany.com>;tag=6052578f448e8c60.
> Call-ID: 1206868322 at 10.99.47.102.
> CSeq: 301 ACK.
> Content-Length: 0.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://bugs.sip-router.org/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
More information about the Serdev
mailing list