Tech-invite3GPPspaceIETFspace
96959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 3665

Session Initiation Protocol (SIP) Basic Call Flow Examples

Pages: 94
Best Current Practice: 75
Errata
Part 3 of 4 – Pages 37 to 66
First   Prev   Next

Top   ToC   RFC3665 - Page 37   prevText

3.4. Successful Session with Proxy Failure

Alice Proxy 1 Proxy 2 Bob | | | | | INVITE F1 | | | |--------------->| | | | INVITE F2 | | | |--------------->| | | | INVITE F3 | | | |--------------->| | | | INVITE F4 | | | |--------------->| | | | INVITE F5 | | | |--------------->| | | | INVITE F6 | | | |--------------->| | | | INVITE F7 | | | |--------------->| | | | INVITE F8 | | |-------------------------------->| | | 407 F9 | | |<--------------------------------| | | ACK F10 | | |-------------------------------->| | | INVITE F11 | | |-------------------------------->| INVITE F12 | | 100 F13 |--------------->| |<--------------------------------| | | | 180 F14 | | 180 F15 |<---------------| |<--------------------------------| | | | 200 F16 | | 200 F17 |<---------------| |<--------------------------------| | | ACK F18 | | |-------------------------------->| ACK F19 | | |--------------->| | Both Way RTP Media | |<================================================>| | | BYE F20 | | BYE F21 |<---------------| |<--------------------------------| | | 200 F22 | | |-------------------------------->| 200 F23 | | |--------------->| | | |
Top   ToC   RFC3665 - Page 38
   In this scenario, Alice completes a call to Bob via a Proxy Server.
   Alice is configured for a primary SIP Proxy Server Proxy 1 and a
   secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV records
   to locate Proxy 1 and Proxy 2).  Alice has valid credentials for both
   domains.  Proxy 1 is out of service and does not respond to INVITEs
   (it is reachable, but unresponsive).  Alice then completes the call
   to Bob using Proxy 2.

   Message Details

   F1 INVITE Alice -> Proxy 1

   INVITE sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK465b6d
   Max-Forwards: 70
   Route: <sip:ss1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F2 INVITE Alice -> Proxy 1

   Same as Message F1


   F3 INVITE Alice -> Proxy 1

   Same as Message F1


   F4 INVITE Alice -> Proxy 1

   Same as Message F1
Top   ToC   RFC3665 - Page 39
   F5 INVITE Alice -> Proxy 1

   Same as Message F1


   F6 INVITE Alice -> Proxy 1

   Same as Message F1


   F7 INVITE Alice -> Proxy 1

   Same as Message F1

   /* Alice gives up on the unresponsive proxy */


   F8 INVITE Alice -> Proxy 2

   INVITE sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8a
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000

   /* Proxy 2 challenges Alice for authentication */


   F9 407 Proxy Authorization Required Proxy 2 -> Alice

   SIP/2.0 407 Proxy Authorization Required
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8a
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=2421452
Top   ToC   RFC3665 - Page 40
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 1 INVITE
   Proxy-Authenticate: Digest realm="biloxi.example.com", qop="auth",
    nonce="1ae6cbe5ea9c8e8df84fqnlec434a359",
    opaque="", stale=FALSE, algorithm=MD5
   Content-Length: 0


   F10 ACK Alice -> Proxy 2

   ACK sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8a
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=2421452
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 1 ACK
   Content-Length: 0

   /* Alice responds by re-sending the INVITE with authentication
   credentials in it.  */


   F11 INVITE Alice -> Proxy 2

   INVITE sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Proxy-Authorization: Digest username="alice",
    realm="biloxi.example.com",
    nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="",
    uri="sip:bob@biloxi.example.com",
    response="8a880c919d1a52f20a1593e228adf599"
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
Top   ToC   RFC3665 - Page 41
   /* Proxy 2 accepts the credentials and forwards the INVITE to Bob.
   Client for Alice prepares to receive data on port 49172 from the
   network.
   */


   F12 INVITE Proxy 2 -> Bob

   INVITE sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK721e4.1
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Max-Forwards: 69
   Record-Route: <sip:ss2.biloxi.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F13 100 Trying Proxy 2 -> Alice

   SIP/2.0 100 Trying
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 2 INVITE
   Content-Length: 0


   F14 180 Ringing Bob -> Proxy 2

   SIP/2.0 180 Ringing
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK721e4.1
    ;received=192.0.2.222
Top   ToC   RFC3665 - Page 42
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:ss2.biloxi.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Length: 0


   F15 180 Ringing Proxy 2 -> Alice

   SIP/2.0 180 Ringing
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:ss2.biloxi.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Length: 0


   F16 200 OK Bob -> Proxy 2

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK721e4.1
    ;received=192.0.2.222
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:ss2.biloxi.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Type: application/sdp
   Content-Length: 147

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
   s=-
   c=IN IP4 192.0.2.201
   t=0 0
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
Top   ToC   RFC3665 - Page 43
   F17 200 OK Proxy 2 -> Alice

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:ss2.biloxi.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Type: application/sdp
   Content-Length: 147

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
   s=-
   c=IN IP4 192.0.2.201
   t=0 0
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F18 ACK Alice -> Proxy 2

   ACK sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8g
   Max-Forwards: 70
   Route: <sip:ss2.biloxi.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 2 ACK
   Content-Length: 0


   F19 ACK Proxy 2 -> Bob

   ACK sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK721e4.1
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8g
    ;received=192.0.2.101
   Max-Forwards: 69
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
Top   ToC   RFC3665 - Page 44
   CSeq: 2 ACK
   Content-Length: 0

   /* RTP streams are established between Alice and Bob */

   /* Bob Hangs Up with Alice. */


   F20 BYE Bob -> Proxy 2

   BYE sip:alice@client.atlanta.example.com SIP/2.0
   Via: SIP/2.0/UDP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
   Max-Forwards: 70
   Route: <sip:ss2.biloxi.example.com;lr>
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 1 BYE
   Content-Length: 0


   F21 BYE Proxy 2 -> Alice

   BYE sip:alice@client.atlanta.example.com SIP/2.0
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK721e4.1
   Via: SIP/2.0/UDP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
    ;received=192.0.2.201
   Max-Forwards: 69
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 1 BYE
   Content-Length: 0


   F22 200 OK Alice -> Proxy 2

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK721e4.1
    ;received=192.0.2.222
   Via: SIP/2.0/UDP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
    ;received=192.0.2.201
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 1 BYE
   Content-Length: 0
Top   ToC   RFC3665 - Page 45
   F23 200 OK Proxy 2 -> Bob

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
    ;received=192.0.2.201
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
   CSeq: 1 BYE
   Content-Length: 0
Top   ToC   RFC3665 - Page 46

3.5. Session Through a SIP ALG

Alice ALG Proxy 2 Bob | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | 100 F3 |--------------->| INVITE F4 | |<---------------| 100 F5 |--------------->| | |<---------------| 180 F6 | | | 180 F7 |<---------------| | 180 F8 |<---------------| | |<---------------| | 200 F9 | | | 200 F10 |<---------------| | 200 F11 |<---------------| | |<---------------| | | ACK F12 | | |--------------->| ACK F13 | | |-------------------------------->| | RTP Media | Both Way RTP Media | |<==============>|<===============================>| | BYE F14 | | |--------------->| BYE F15 | | |-------------------------------->| | | 200 F16 | | 200 F17 |<--------------------------------| |<---------------| | | | | Alice completes a call to Bob through a ALG (Application Layer Gateway) and a SIP Proxy. The routing through the ALG is accomplished using a pre-loaded Route header in the INVITE F1. Note that the media stream setup is not end-to-end - the ALG terminates both media streams and bridges them. This is done by the ALG modifying the SDP in the INVITE (F1) and 200 OK (F10) messages, and possibly any 18x or ACK messages containing SDP. In addition to firewall traversal, this Back-to-Back User Agent (B2BUA) could be used as part of an anonymizer service (in which all identifying information on Alice would be removed), or to perform codec media conversion, such as mu-law to A-law conversion of PCM on an international call. Also note that Proxy 2 does not Record-Route in this call flow.
Top   ToC   RFC3665 - Page 47
   Message Details

   F1 INVITE Alice -> SIP ALG

   INVITE sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Route: <sip:alg1.atlanta.example.com;lr>
   Proxy-Authorization: Digest username="alice",
    realm="biloxi.example.com",
    nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="",
    uri="sip:bob@biloxi.example.com",
    response="b3f392f9218a328b9294076d708e6815"
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000

   /* Client for Alice prepares to receive data on port 49172 from the
   network. */


   F2 INVITE SIP ALG -> Proxy 2

   INVITE sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Max-Forwards: 69
   Record-Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Proxy-Authorization: Digest username="alice",
    realm="biloxi.example.com",
Top   ToC   RFC3665 - Page 48
    nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="",
    uri="sip:bob@biloxi.example.com",
    response="b3f392f9218a328b9294076d708e6815"
   Content-Type: application/sdp
   Content-Length: 150

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.128
   t=0 0
   m=audio 2000 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F3 100 Trying SIP ALG -> Alice

   SIP/2.0 100 Trying
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Content-Length: 0

   /* SIP ALG prepares to proxy data from port 192.0.2.128/2000 to
   192.0.2.101/49172.   Proxy 2 uses a Location Service function to
   determine where Bob is located. Based upon location analysis the call
   is forwarded to Bob */


   F4 INVITE Proxy 2 -> Bob

   INVITE sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
    ;received=192.0.2.128
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Max-Forwards: 68
   Record-Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Content-Type: application/sdp
Top   ToC   RFC3665 - Page 49
   Content-Length: 150

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.128
   t=0 0
   m=audio 2000 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F5 100 Trying Proxy 2 -> SIP ALG

   SIP/2.0 100 Trying
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
    ;received=192.0.2.128
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Content-Length: 0


   F6 180 Ringing Bob -> Proxy 2

   SIP/2.0 180 Ringing
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
    ;received=192.0.2.222
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
    ;received=192.0.2.128
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Length: 0


   F7 180 Ringing Proxy 2 -> SIP ALG

   SIP/2.0 180 Ringing
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
    ;received=192.0.2.128
Top   ToC   RFC3665 - Page 50
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Length: 0


   F8 180 Ringing SIP ALG -> Alice

   SIP/2.0 180 Ringing
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Length: 0


   F9 200 OK Bob -> Proxy 2

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
    ;received=192.0.2.222
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
    ;received=192.0.2.128
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Type: application/sdp
   Content-Length: 147

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
   s=-
   c=IN IP4 192.0.2.201
   t=0 0
Top   ToC   RFC3665 - Page 51
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F10 200 OK Proxy 2 -> SIP ALG

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
    ;received=192.0.2.128
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Type: application/sdp
   Content-Length: 147

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
   s=-
   c=IN IP4 192.0.2.201
   t=0 0
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F11 200 OK SIP ALG -> Alice

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Type: application/sdp
   Content-Length: 147

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
   s=-
   c=IN IP4 192.0.2.128
   t=0 0
Top   ToC   RFC3665 - Page 52
   m=audio 1734 RTP/AVP 0
   a=rtpmap:0 PCMU/8000

   /* The ALG prepares to proxy packets from 192.0.2.128/
      1734 to 192.0.2.201/3456 */


   F12 ACK Alice -> SIP ALG

   ACK sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bhh
   Max-Forwards: 70
   Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 ACK
   Content-Length: 0


   F13 ACK SIP ALG -> Bob

   ACK sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bhh
    ;received=192.0.2.101
   Max-Forwards: 69
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 ACK
   Content-Length: 0

   /* RTP streams are established between Alice and the ALG and
   between the ALG and B*/

   /* Alice Hangs Up with Bob. */


   F14 BYE Alice -> SIP ALG

   BYE sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74be5
   Max-Forwards: 70
   Route: <sip:alg1.atlanta.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
Top   ToC   RFC3665 - Page 53
   CSeq: 2 BYE
   Content-Length: 0


   F15 BYE SIP ALG -> Bob

   BYE sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74be5
    ;received=192.0.2.101
   Max-Forwards: 69
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 BYE
   Content-Length: 0


   F16 200 OK Bob -> SIP ALG

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
    ;received=192.0.2.128
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74be5
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 BYE
   Content-Length: 0


   F17 200 OK SIP ALG -> Alice

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74be5
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 BYE
   Content-Length: 0
Top   ToC   RFC3665 - Page 54

3.6. Session via Redirect and Proxy Servers with SDP in ACK

Alice Redirect Server Proxy 3 Bob | | | | | INVITE F1 | | | |--------------->| | | | 302 F2 | | | |<---------------| | | | ACK F3 | | | |--------------->| | | | INVITE F4 | | |-------------------------------->| INVITE F5 | | 100 F6 |--------------->| |<--------------------------------| 180 F7 | | 180 F8 |<---------------| |<--------------------------------| | | | 200 F9 | | 200 F10 |<---------------| |<--------------------------------| | | ACK F11 | | |-------------------------------->| ACK F12 | | |--------------->| | Both Way RTP Media | |<================================================>| | | BYE F13 | | BYE F14 |<---------------| |<--------------------------------| | | 200 F15 | | |-------------------------------->| 200 F16 | | |--------------->| | | | In this scenario, Alice places a call to Bob using first a Redirect server then a Proxy Server. The INVITE message is first sent to the Redirect Server. The Server returns a 302 Moved Temporarily response (F2) containing a Contact header with Bob's current SIP address. Alice then generates a new INVITE and sends to Bob via the Proxy Server and the call proceeds normally. In this example, no SDP is present in the INVITE, so the SDP is carried in the ACK message. The call is terminated when Bob sends a BYE message.
Top   ToC   RFC3665 - Page 55
   Message Details

   F1 INVITE Alice -> Redirect Server

   INVITE sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bKbf9f44
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Content-Length: 0


   F2 302 Moved Temporarily Redirect Proxy -> Alice

   SIP/2.0 302 Moved Temporarily
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bKbf9f44
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=53fHlqlQ2
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@chicago.example.com;transport=tcp>
   Content-Length: 0


   F3 ACK Alice -> Redirect Server

   ACK sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bKbf9f44
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=53fHlqlQ2
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 ACK
   Content-Length: 0


   F4 INVITE Alice -> Proxy 3

   INVITE sip:bob@chicago.example.com SIP/2.0
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
Top   ToC   RFC3665 - Page 56
   CSeq: 2 INVITE
   Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
   Content-Length: 0


   F5 INVITE Proxy 3 -> Bob

   INVITE sip:bob@client.chicago.example.com SIP/2.0
   Via: SIP/2.0/TCP ss3.chicago.example.com:5060;branch=z9hG4bK721e.1
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Max-Forwards: 69
   Record-Route: <sip:ss3.chicago.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
   Content-Length: 0


   F6 100 Trying Proxy 3 -> Alice

   SIP/2.0 100 Trying
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 INVITE
   Content-Length: 0


   F7 180 Ringing Bob -> Proxy 3

   SIP/2.0 180 Ringing
   Via: SIP/2.0/TCP ss3.chicago.example.com:5060;branch=z9hG4bK721e.1
    ;received=192.0.2.233
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:ss3.chicago.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:bob@client.chicago.example.com;transport=tcp>
   Content-Length: 0
Top   ToC   RFC3665 - Page 57
   F8 180 Ringing Proxy 3 -> Alice

   SIP/2.0 180 Ringing
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:ss3.chicago.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:bob@client.chicago.example.com;transport=tcp>
   Content-Length: 0


   F9 200 OK Bob -> Proxy 3

   SIP/2.0 200 OK
   Via: SIP/2.0/TCP ss3.chicago.example.com:5060;branch=z9hG4bK721e.1
    ;received=192.0.2.233
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:ss3.chicago.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:bob@client.chicago.example.com;transport=tcp>
   Content-Type: application/sdp
   Content-Length: 148

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.chicago.example.com
   s=-
   c=IN IP4 192.0.2.100
   t=0 0
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F10 200 OK Proxy -> Alice

   SIP/2.0 200 OK
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Record-Route: <sip:ss3.chicago.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
Top   ToC   RFC3665 - Page 58
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 INVITE
   Contact: <sip:bob@client.chicago.example.com;transport=tcp>
   Content-Type: application/sdp
   Content-Length: 148

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.chicago.example.com
   s=-
   c=IN IP4 192.0.2.100
   t=0 0
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000

   /* ACK contains SDP of Alice since none present in INVITE */


   F11 ACK Alice -> Proxy 3

   ACK sip:bob@client.chicago.example.com SIP/2.0
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bq9
   Max-Forwards: 70
   Route: <sip:ss3.chicago.example.com;lr>
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 ACK
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F12 ACK Proxy 3 -> Bob

   ACK sip:bob@client.chicago.example.com SIP/2.0
   Via: SIP/2.0/TCP ss3.chicago.example.com:5060;branch=z9hG4bK721e.1
   Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bq9
    ;received=192.0.2.101
   Max-Forwards: 69
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
Top   ToC   RFC3665 - Page 59
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 ACK
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000

   /* RTP streams are established between Alice and Bob */

   /* Bob Hangs Up with Alice. */


   F13 BYE Bob -> Proxy 3

   BYE sip:alice@client.atlanta.example.com SIP/2.0
   Via: SIP/2.0/TCP client.chicago.example.com:5060;branch=z9hG4bKfgaw2
   Max-Forwards: 70
   Route: <sip:ss3.chicago.example.com;lr>
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 BYE
   Content-Length: 0


   F14 BYE Proxy 3 -> Alice

   BYE sip:alice@client.atlanta.example.com SIP/2.0
   Via: SIP/2.0/TCP ss3.chicago.example.com:5060;branch=z9hG4bK721e.1
    ;received=192.0.2.100
   Via: SIP/2.0/TCP client.chicago.example.com:5060;branch=z9hG4bKfgaw2
   Max-Forwards: 69
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 BYE
   Content-Length: 0


   F15 200 OK Alice -> Proxy 3

   SIP/2.0 200 OK
Top   ToC   RFC3665 - Page 60
   Via: SIP/2.0/TCP ss3.chicago.example.com:5060;branch=z9hG4bK721e.1
    ;received=192.0.2.233
   Via: SIP/2.0/TCP client.chicago.example.com:5060;branch=z9hG4bKfgaw2
    ;received=192.0.2.100
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 BYE
   Content-Length: 0


   F16 200 OK Proxy 3 -> Bob

   SIP/2.0 200 OK
   Via: SIP/2.0/TCP client.chicago.example.com:5060;branch=z9hG4bKfgaw2
    ;received=192.0.2.100
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 BYE
   Content-Length: 0
Top   ToC   RFC3665 - Page 61

3.7. Session with re-INVITE (IP Address Change)

Alice Proxy 2 Bob | F1 INVITE | | |------------------->| F2 INVITE | | F3 100 Trying |------------------->| |<-------------------| F4 180 Ringing | | F5 180 Ringing |<-------------------| |<-------------------| | | | F6 200 OK | | F7 200 OK |<-------------------| |<-------------------| | | F8 ACK | |---------------------------------------->| | Both Way RTP Media Established | |<=======================================>| | | | Bob changes IP address | | | | F9 INVITE | |<----------------------------------------| | F10 200 OK | |---------------------------------------->| | F11 ACK | |<----------------------------------------| | New RTP Media Stream | |<=======================================>| | F12 BYE | |---------------------------------------->| | F13 200 OK | |<----------------------------------------| | | This example shows a session in which the media changes midway through the session. When Bob's IP address changes during the session, Bob sends a re-INVITE containing a new Contact and SDP (version number incremented) information to A. In this flow, the proxy does not Record-Route so is not in the SIP messaging path after the initial exchange.
Top   ToC   RFC3665 - Page 62
   Message Details

   F1 INVITE Alice -> Proxy 2

   INVITE sip:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F2 INVITE Proxy 2 -> Bob

   INVITE sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   Max-Forwards: 69
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Content-Type: application/sdp
   Content-Length: 151

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
Top   ToC   RFC3665 - Page 63
   F3 100 Trying Proxy 2 -> Alice

   SIP/2.0 100 Trying
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Content-Length: 0


   F4 180 Ringing Bob -> Proxy 2

   SIP/2.0 180 Ringing
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
    ;received=192.0.2.222
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Length: 0


   F5 180 Ringing Proxy 2 -> Alice

   SIP/2.0 180 Ringing
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Length: 0


   F6 200 OK Bob -> Proxy 2

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
    ;received=192.0.2.222
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Top   ToC   RFC3665 - Page 64
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Type: application/sdp
   Content-Length: 147

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
   s=-
   c=IN IP4 192.0.2.201
   t=0 0
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F7 200 OK Proxy 2 -> Alice

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
    ;received=192.0.2.101
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sip:bob@client.biloxi.example.com>
   Content-Type: application/sdp
   Content-Length: 147

   v=0
   o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
   s=-
   c=IN IP4 192.0.2.201
   t=0 0
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F8 ACK Alice -> Bob

   ACK sip:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b7b
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 1 ACK
   Content-Length: 0
Top   ToC   RFC3665 - Page 65
   /* RTP streams are established between Alice and Bob */

   /* Bob changes IP address and re-INVITEs Alice with new Contact and
   SDP */


   F9 INVITE Bob -> Alice

   INVITE sip:alice@client.atlanta.example.com SIP/2.0
   Via: SIP/2.0/UDP client.chicago.example.com:5060;branch=z9hG4bKlkld5l
   Max-Forwards: 70
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 14 INVITE
   Contact: <sip:bob@client.chicago.example.com>
   Content-Type: application/sdp
   Content-Length: 149

   v=0
   o=bob 2890844527 2890844528 IN IP4 client.chicago.example.com
   s=-
   c=IN IP4 192.0.2.100
   t=0 0
   m=audio 47172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F10 200 OK Alice -> Bob

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP client.chicago.example.com:5060;branch=z9hG4bKlkld5l
    ;received=192.0.2.100
   Max-Forwards: 70
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 14 INVITE
   Contact: <sip:alice@client.atlanta.example.com>
   Content-Type: application/sdp
   Content-Length: 150

   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=-
   c=IN IP4 192.0.2.101
   t=0 0
Top   ToC   RFC3665 - Page 66
   m=audio 1000 RTP/AVP 0
   a=rtpmap:0 PCMU/8000


   F11 ACK Bob -> Alice

   ACK sip:alice@client.atlanta.example.com SIP/2.0
   Via: SIP/2.0/UDP client.chicago.example.com:5060;branch=z9hG4bKlkldcc
   Max-Forwards: 70
   From: Bob <sip:bob@biloxi.example.com>;tag=314159
   To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 14 ACK
   Content-Length: 0

   /* New RTP stream established between Alice and Bob */

   /* Alice hangs up with Bob */


   F12 BYE Alice -> Bob

   BYE sip:bob@client.chicago.example.com SIP/2.0
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bo4
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 BYE
   Content-Length: 0


   F13 200 OK Bob -> Alice

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bo4
    ;received=192.0.2.101
   Max-Forwards: 70
   From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
   To: Bob <sip:bob@biloxi.example.com>;tag=314159
   Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
   CSeq: 2 BYE
   Content-Length: 0