[reSIProcate] RouteSet not being Re-Calculated

Brian D'Souza dsouza at aksysnetworks.com
Fri Jul 9 12:50:21 CDT 2004


Hello,

I have included a trace from a simple SIP session below. From the trace
you can see that the UAS is not receiving ACKs in response to an Invite
OK.

The is because the Record-Route is not being computer properly.

According to RFC3261 :

Section 13.2.2.4 2xx Responses

....

   If the dialog identifier in the 2xx response matches the dialog
   identifier of an existing dialog, the dialog MUST be transitioned to
   the "confirmed" state, and the route set for the dialog MUST be
   recomputed based on the 2xx response using the procedures of Section
   12.2.1.2.  

......

However in the Dialog.cxx class the Record-Route does not get
re-calculated. If the mRouteSet variable is reset (in the
Dum::Dialog::dispatch(...)) method based on what was in the response
everything works fine.

Brian.

P.S. Should I be posting such comments here - I noticed that the
SipFoundry page has a bug-tracker of sorts, should I be using that
instead?


========================================================
TRACE


Frame 38 (794 bytes on wire, 794 bytes captured)
Ethernet II, Src: 00:a0:c9:9b:ae:1c, Dst: 00:04:5a:df:b3:f9
Internet Protocol, Src Addr: 192.168.0.30 (192.168.0.30), Dst Addr:
65.39.205.114 (65.39.205.114)
User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 5082 (5082)
Session Initiation Protocol
    Request line: INVITE sip:613 at fwd.pulver.com SIP/2.0
        Method: INVITE
    Message Header
        To: <sip:613 at fwd.pulver.com>
        From: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        Call-ID: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        Contact: <sip:52017 at 192.168.0.30:5060>
        Max-Forwards: 70
        Content-Type: application/sdp
        Proxy-Authorization: Digest
username=52017,realm="fwd.pulver.com",nonce="40eed7fc8146ff5b3361103310d241de421d78c1",uri="sip:613 at fwd.pulver.com",response="2be8771a29b5968b73ef551e2867b689",algorithm=MD5
        Content-Length: 187
Session Description Protocol

Frame 39 (418 bytes on wire, 418 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Status line: SIP/2.0 100 trying -- your call is important to us
        Status-Code: 100
    Message Header
        t: <sip:613 at fwd.pulver.com>
        f: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        i: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        Server: Free World Dialup (0.8.11rc3 (i386/linux))
        Record-Route: <sip:PPC735748 at 65.39.205.114:5082>
        Content-Length: 0

Frame 40 (473 bytes on wire, 473 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Status line: SIP/2.0 180 Ringing
        Status-Code: 180
    Message Header
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        From: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        To: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        Call-ID: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        User-Agent: Asterisk PBX
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
        Contact: <sip:613 at 69.90.168.13:5028>
        Record-Route: <sip:PPC735748 at 65.39.205.114:5082>
        Content-Length: 0


Frame 43 (696 bytes on wire, 696 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Status line: SIP/2.0 200 OK
        Status-Code: 200
    Message Header
        v: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        Record-Route:
<sip:613 at 192.246.69.223;ftag=e2619a3b;lr=on>,<sip:PPC735748 at 65.39.205.114:5082>
        f: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        t: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        i: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
        m: <sip:613 at 69.90.168.13:5028>
        c: application/sdp
        l: 218
Session Description Protocol


===============> The above 200 had Record-Routes but none of the ACKs
generated had the same information


Frame 46 (629 bytes on wire, 629 bytes captured)
Ethernet II, Src: 00:a0:c9:9b:ae:1c, Dst: 00:04:5a:df:b3:f9
Internet Protocol, Src Addr: 192.168.0.30 (192.168.0.30), Dst Addr:
65.39.205.114 (65.39.205.114)
User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 5082 (5082)
Session Initiation Protocol
    Request line: ACK sip:PPC735748 at 65.39.205.114:5082 SIP/2.0
        Method: ACK
    Message Header
        To: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        From: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-279452934-1--c87542-;rport
        Call-ID: dbfcfc4e8754bd72
        CSeq: 2 ACK
        Route: <sip:613 at 69.90.168.13:5028>
        Contact: <sip:52017 at 192.168.0.30:5060>
        Max-Forwards: 70
        Proxy-Authorization: Digest
username=52017,realm="fwd.pulver.com",nonce="40eed7fc8146ff5b3361103310d241de421d78c1",uri="sip:613 at fwd.pulver.com",response="2be8771a29b5968b73ef551e2867b689",algorithm=MD5
        Content-Length: 0

Frame 47 (696 bytes on wire, 696 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Status line: SIP/2.0 200 OK
        Status-Code: 200
    Message Header
        v: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        Record-Route:
<sip:613 at 192.246.69.223;ftag=e2619a3b;lr=on>,<sip:PPC735748 at 65.39.205.114:5082>
        f: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        t: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        i: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
        m: <sip:613 at 69.90.168.13:5028>
        c: application/sdp
        l: 218
Session Description Protocol

Frame 50 (629 bytes on wire, 629 bytes captured)
Ethernet II, Src: 00:a0:c9:9b:ae:1c, Dst: 00:04:5a:df:b3:f9
Internet Protocol, Src Addr: 192.168.0.30 (192.168.0.30), Dst Addr:
65.39.205.114 (65.39.205.114)
User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 5082 (5082)
Session Initiation Protocol
    Request line: ACK sip:613 at 69.90.168.13:5028 SIP/2.0
        Method: ACK
    Message Header
        To: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        From: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-102648573-1--c87542-;rport
        Call-ID: dbfcfc4e8754bd72
        CSeq: 2 ACK
        Route: <sip:PPC735748 at 65.39.205.114:5082>
        Contact: <sip:52017 at 192.168.0.30:5060>
        Max-Forwards: 70
        Proxy-Authorization: Digest
username=52017,realm="fwd.pulver.com",nonce="40eed7fc8146ff5b3361103310d241de421d78c1",uri="sip:613 at fwd.pulver.com",response="2be8771a29b5968b73ef551e2867b689",algorithm=MD5
        Content-Length: 0

Frame 51 (696 bytes on wire, 696 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Status line: SIP/2.0 200 OK
        Status-Code: 200
    Message Header
        v: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        Record-Route:
<sip:613 at 192.246.69.223;ftag=e2619a3b;lr=on>,<sip:PPC735748 at 65.39.205.114:5082>
        f: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        t: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        i: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
        m: <sip:613 at 69.90.168.13:5028>
        c: application/sdp
        l: 218
Session Description Protocol

Frame 54 (629 bytes on wire, 629 bytes captured)
Ethernet II, Src: 00:a0:c9:9b:ae:1c, Dst: 00:04:5a:df:b3:f9
Internet Protocol, Src Addr: 192.168.0.30 (192.168.0.30), Dst Addr:
65.39.205.114 (65.39.205.114)
User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 5082 (5082)
Session Initiation Protocol
    Request line: ACK sip:PPC735748 at 65.39.205.114:5082 SIP/2.0
        Method: ACK
    Message Header
        To: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        From: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-974695858-1--c87542-;rport
        Call-ID: dbfcfc4e8754bd72
        CSeq: 2 ACK
        Route: <sip:613 at 69.90.168.13:5028>
        Contact: <sip:52017 at 192.168.0.30:5060>
        Max-Forwards: 70
        Proxy-Authorization: Digest
username=52017,realm="fwd.pulver.com",nonce="40eed7fc8146ff5b3361103310d241de421d78c1",uri="sip:613 at fwd.pulver.com",response="2be8771a29b5968b73ef551e2867b689",algorithm=MD5
        Content-Length: 0

Frame 55 (696 bytes on wire, 696 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Status line: SIP/2.0 200 OK
        Status-Code: 200
    Message Header
        v: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        Record-Route:
<sip:613 at 192.246.69.223;ftag=e2619a3b;lr=on>,<sip:PPC735748 at 65.39.205.114:5082>
        f: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        t: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        i: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
        m: <sip:613 at 69.90.168.13:5028>
        c: application/sdp
        l: 218
Session Description Protocol

Frame 58 (629 bytes on wire, 629 bytes captured)
Ethernet II, Src: 00:a0:c9:9b:ae:1c, Dst: 00:04:5a:df:b3:f9
Internet Protocol, Src Addr: 192.168.0.30 (192.168.0.30), Dst Addr:
65.39.205.114 (65.39.205.114)
User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 5082 (5082)
Session Initiation Protocol
    Request line: ACK sip:613 at 69.90.168.13:5028 SIP/2.0
        Method: ACK
    Message Header
        To: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        From: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-917058701-1--c87542-;rport
        Call-ID: dbfcfc4e8754bd72
        CSeq: 2 ACK
        Route: <sip:PPC735748 at 65.39.205.114:5082>
        Contact: <sip:52017 at 192.168.0.30:5060>
        Max-Forwards: 70
        Proxy-Authorization: Digest
username=52017,realm="fwd.pulver.com",nonce="40eed7fc8146ff5b3361103310d241de421d78c1",uri="sip:613 at fwd.pulver.com",response="2be8771a29b5968b73ef551e2867b689",algorithm=MD5
        Content-Length: 0

Frame 60 (696 bytes on wire, 696 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Status line: SIP/2.0 200 OK
        Status-Code: 200
    Message Header
        v: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        Record-Route:
<sip:613 at 192.246.69.223;ftag=e2619a3b;lr=on>,<sip:PPC735748 at 65.39.205.114:5082>
        f: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        t: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        i: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
        m: <sip:613 at 69.90.168.13:5028>
        c: application/sdp
        l: 218
Session Description Protocol

Frame 65 (629 bytes on wire, 629 bytes captured)
Ethernet II, Src: 00:a0:c9:9b:ae:1c, Dst: 00:04:5a:df:b3:f9
Internet Protocol, Src Addr: 192.168.0.30 (192.168.0.30), Dst Addr:
65.39.205.114 (65.39.205.114)
User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 5082 (5082)
Session Initiation Protocol
    Request line: ACK sip:PPC735748 at 65.39.205.114:5082 SIP/2.0
        Method: ACK
    Message Header
        To: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        From: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-491273261-1--c87542-;rport
        Call-ID: dbfcfc4e8754bd72
        CSeq: 2 ACK
        Route: <sip:613 at 69.90.168.13:5028>
        Contact: <sip:52017 at 192.168.0.30:5060>
        Max-Forwards: 70
        Proxy-Authorization: Digest
username=52017,realm="fwd.pulver.com",nonce="40eed7fc8146ff5b3361103310d241de421d78c1",uri="sip:613 at fwd.pulver.com",response="2be8771a29b5968b73ef551e2867b689",algorithm=MD5
        Content-Length: 0

Frame 66 (696 bytes on wire, 696 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Status line: SIP/2.0 200 OK
        Status-Code: 200
    Message Header
        v: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-209980590-1--c87542-;rport
        Record-Route:
<sip:613 at 192.246.69.223;ftag=e2619a3b;lr=on>,<sip:PPC735748 at 65.39.205.114:5082>
        f: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        t: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        i: dbfcfc4e8754bd72
        CSeq: 2 INVITE
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
        m: <sip:613 at 69.90.168.13:5028>
        c: application/sdp
        l: 218
Session Description Protocol

Frame 69 (629 bytes on wire, 629 bytes captured)
Ethernet II, Src: 00:a0:c9:9b:ae:1c, Dst: 00:04:5a:df:b3:f9
Internet Protocol, Src Addr: 192.168.0.30 (192.168.0.30), Dst Addr:
65.39.205.114 (65.39.205.114)
User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 5082 (5082)
Session Initiation Protocol
    Request line: ACK sip:613 at 69.90.168.13:5028 SIP/2.0
        Method: ACK
    Message Header
        To: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        From: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Via: SIP/2.0/UDP
192.168.0.30:5060;branch=z9hG4bK-c87542-358831302-1--c87542-;rport
        Call-ID: dbfcfc4e8754bd72
        CSeq: 2 ACK
        Route: <sip:PPC735748 at 65.39.205.114:5082>
        Contact: <sip:52017 at 192.168.0.30:5060>
        Max-Forwards: 70
        Proxy-Authorization: Digest
username=52017,realm="fwd.pulver.com",nonce="40eed7fc8146ff5b3361103310d241de421d78c1",uri="sip:613 at fwd.pulver.com",response="2be8771a29b5968b73ef551e2867b689",algorithm=MD5
        Content-Length: 0

Frame 70 (605 bytes on wire, 605 bytes captured)
Ethernet II, Src: 00:04:5a:df:b3:f9, Dst: 00:a0:c9:9b:ae:1c
Internet Protocol, Src Addr: 65.39.205.114 (65.39.205.114), Dst Addr:
192.168.0.30 (192.168.0.30)
User Datagram Protocol, Src Port: 5082 (5082), Dst Port: 5060 (5060)
Session Initiation Protocol
    Request line: BYE sip:52017 at 192.168.0.30:5060 SIP/2.0
        Method: BYE
    Message Header
        Max-Forwards: 10
        Record-Route:
<sip:PPC735748 at 65.39.205.114:5082>,<sip:PPC735748 at 192.246.69.223;ftag=as26e859d4;lr=on>
        Via: SIP/2.0/UDP
65.39.205.114:5082;branch=PPC735748.z9hG4bKf894,SIP/2.0/UDP
192.246.69.223;branch=z9hG4bKf894.9426df33.0,SIP/2.0/UDP
69.90.168.13:5028;branch=z9hG4bK174e6ee2
        From: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        To: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        Contact: <sip:613 at 69.90.168.13:5028>
        Call-ID: dbfcfc4e8754bd72
        CSeq: 102 BYE
        User-Agent: Asterisk PBX
        Content-Length: 0

Frame 71 (588 bytes on wire, 588 bytes captured)
Ethernet II, Src: 00:a0:c9:9b:ae:1c, Dst: 00:04:5a:df:b3:f9
Internet Protocol, Src Addr: 192.168.0.30 (192.168.0.30), Dst Addr:
65.39.205.114 (65.39.205.114)
User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 5082 (5082)
Session Initiation Protocol
    Status line: SIP/2.0 200 OK
        Status-Code: 200
    Message Header
        To: 52017 <sip:52017 at fwd.pulver.com>;tag=e2619a3b
        From: <sip:613 at fwd.pulver.com>;tag=as26e859d4
        Via: SIP/2.0/UDP
65.39.205.114:5082;branch=PPC735748.z9hG4bKf894;received=65.39.205.114
        Via: SIP/2.0/UDP 192.246.69.223;branch=z9hG4bKf894.9426df33.0
        Via: SIP/2.0/UDP 69.90.168.13:5028;branch=z9hG4bK174e6ee2
        Call-ID: dbfcfc4e8754bd72
        CSeq: 102 BYE
        Record-Route: <sip:PPC735748 at 65.39.205.114:5082>
        Record-Route:
<sip:PPC735748 at 192.246.69.223;ftag=as26e859d4;lr=on>
        Contact: <sip:52017 at 192.168.0.30:5060>
        Content-Length: 0





More information about the resiprocate-devel mailing list