GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:rfc5359

Network Working Group A. Johnston, Ed. Request for Comments: 5359 Avaya BCP: 144 R. Sparks Category: Best Current Practice Tekelec

                                                         C. Cunningham
                                                            S. Donovan
                                                         Cisco Systems
                                                            K. Summers
                                                                 Sonus
                                                          October 2008
            Session Initiation Protocol Service Examples

Status of This Memo

 This document specifies an Internet Best Current Practices for the
 Internet Community, and requests discussion and suggestions for
 improvements.  Distribution of this memo is unlimited.

Abstract

 This document gives examples of Session Initiation Protocol (SIP)
 services.  This covers most features offered in so-called IP Centrex
 offerings from local exchange carriers and PBX (Private Branch
 Exchange) features.  Most of the services shown in this document are
 implemented in the SIP user agents, although some require the
 assistance of a SIP proxy.  Some require some extensions to SIP
 including the REFER, SUBSCRIBE, and NOTIFY methods and the Replaces
 and Join header fields.  These features are not intended to be an
 exhaustive set, but rather show implementations of common features
 likely to be implemented on SIP IP telephones in a business
 environment.

Johnston, et al. Best Current Practice [Page 1] RFC 5359 SIP Service Examples October 2008

Table of Contents

 1. Overview ........................................................3
    1.1. Legend for Message Flows ...................................4
 2. Service Examples ................................................6
    2.1. Call Hold ..................................................6
    2.2. Consultation Hold .........................................19
    2.3. Music on Hold .............................................38
    2.4. Transfer - Unattended .....................................50
    2.5. Transfer - Attended .......................................58
    2.6. Transfer - Instant Messaging ..............................71
    2.7. Call Forwarding Unconditional .............................77
    2.8. Call Forwarding - Busy ....................................84
    2.9. Call Forwarding - No Answer ...............................92
    2.10. 3-Way Conference - Third Party Is Added .................101
    2.11. 3-Way Conference - Third Party Joins ....................107
    2.12. Find-Me .................................................113
    2.13. Call Management (Incoming Call Screening) ...............125
    2.14. Call Management (Outgoing Call Screening) ...............132
    2.15. Call Park ...............................................135
    2.16. Call Pickup .............................................147
    2.17. Automatic Redial ........................................154
    2.18. Click to Dial ...........................................163
 3. Security Considerations .......................................166
 4. Acknowledgements ..............................................166
 5. References ....................................................167
    5.1. Normative References .....................................167
    5.2. Informative References ...................................168

Johnston, et al. Best Current Practice [Page 2] RFC 5359 SIP Service Examples October 2008

1. Overview

 This document provides example call flows detailing a SIP
 implementation of the following traditional telephony services:
         Call Hold                        3-Way Conference
         Consultation Hold                Find-Me
         Music on Hold                    Incoming Call Screening
         Unattended Transfer              Outgoing Call Screening
         Attended Transfer                Call Park
         Instant Messaging Transfer       Call Pickup
         Unconditional Call Forwarding    Automatic Redial
         Call Forwarding on Busy          Click to Dial
         Call Forwarding on No Answer
 Note that the Single Line Extension call flow has been removed from
 this document and will be covered in a separate document.
 The call flows shown in this document were developed in the design of
 a SIP IP communications network.  They represent an example set of
 so-called IP Centrex services or PBX services.
 It is the hope of the authors that this document will be useful for
 SIP implementers, designers, and protocol researchers alike and will
 help further the goal of a standard implementation of RFC 3261
 [RFC3261] and some of its extensions.
 These flows represent carefully checked and working group reviewed
 scenarios of SIP service examples as a companion to the
 specifications.
 These call flows are based on the current version 2.0 of SIP in RFC
 3261 [RFC3261] with Session Description Protocol (SDP) usage
 described in RFC 3264 [RFC3264].  Other RFCs also form part of the
 SIP standard and are used and referenced in these call flows.
 The SIP specification and the other referenced documents are
 definitive as far as protocol issues are concerned.  Also, these
 flows do not represent the only way to implement these services --
 other approaches such as 3pcc (Third Party Call Control) [RFC3725] or
 Back-to-Back User Agents (B2BUAs) can be used.  This specification
 does not preclude these or other approaches for implementing such
 services.  The peer-to-peer design and principles of these service
 examples are described in the Multiparty Framework document
 [FRAMEWORK].

Johnston, et al. Best Current Practice [Page 3] RFC 5359 SIP Service Examples October 2008

 These flows assume the functionality described in the SIP Call Flow
 Examples document [RFC3665], which explores basic SIP behavior.  Some
 of the scenarios described herein make use of the SIP method
 extension REFER [RFC3515], the SIP header extension Replaces
 [RFC3891], and the SIP header extension Join [RFC3911].  The SIP
 Events document [RFC3265] describes the use of SUBSCRIBE and NOTIFY,
 while the SIP Dialog Event Package document [RFC4235] describes the
 dialog event package.  Some examples make use of the GRUU (Globally
 Routable User Agent URI) extension [GRUU].
 These flows were prepared assuming a network of proxies, registrars,
 and other SIP servers.  The use of Secure SIP URIs (sips) is shown
 throughout this document, implying TLS transport on each hop with
 assumed certificate validation.  However, other security approaches
 can be used.  The use of Digest authentication is shown in some
 examples.
 The emphasis in these call flows is the SIP signaling exchange.  As a
 result, only very simple SDP offer/answer exchanges are shown with
 audio media.  These flows apply equally well for other media and
 multimedia sessions.  For more advanced examples of SDP offer/answer
 exchanges, refer to [RFC4317].
 Each call flow is presented with a textual description of the
 scenario, a message flow diagram showing the messages exchanged
 between separate network elements, and the detailed contents of each
 message shown in the diagram.
 For simplicity in reading and editing the document, there are a
 number of differences between some of the examples and actual SIP
 messages.  For example, the HTTP Digest responses are not actual MD5
 encodings.  Call-IDs are often repeated, and CSeq counts often begin
 at 1.  Header fields are usually shown in the same order.  Usually
 only the minimum required header field set is shown.  Also, message
 body content lengths are often not calculated, but instead shown as
 "..." where the actual octet count would be.

1.1. Legend for Message Flows

 Dashed lines (---) represent control messages that are mandatory to
 the call scenario.  These control messages can be SIP signaling.
 Double dashed lines (===) represent media paths between network
 elements.
 Messages with parentheses around the name represent optional control
 messages.

Johnston, et al. Best Current Practice [Page 4] RFC 5359 SIP Service Examples October 2008

 Messages are identified in the figures as F1, F2, etc.  This
 references the message details in the table that follows the figure.
 Lines longer than 72 characters are handled using the <allOneLine>
 convention defined in Section 2.1 of RFC 4475 [RFC4475].
 Comments in the message details are shown in the following form:
 /* Comments. */

Johnston, et al. Best Current Practice [Page 5] RFC 5359 SIP Service Examples October 2008

2. Service Examples

2.1. Call Hold

          Alice           Proxy            Bob
           |    INVITE F1   |              |
           |--------------->|              |
           |                |   INVITE F2  |
           |(100 Trying) F3 |------------->|
           |<---------------|              |
           |                |180 Ringing F4|
           | 180 Ringing F5 |<-------------|
           |<---------------|              |
           |                |  200 OK F6   |
           |    200 OK F7   |<-------------|
           |<---------------|              |
           |     ACK F8     |              |
           |--------------->|    ACK F9    |
           |                |------------->|
           |    Both way RTP Established   |
           |<=============================>|
           |                |INVITE(hold) F10
           |INVITE(hold) F11|<-------------|
           |<---------------|              |
           |    200 OK F12  |              |
           |--------------->|   200 OK F13 |
           |                |------------->|
           |                |     ACK F14  |
           |     ACK F15    |<-------------|
           |<---------------|              |
           |           No RTP Sent!        |
           |                |  INVITE F16  |
           |   INVITE F17   |<-------------|
           |<---------------|              |
           |   200 OK F18   |              |
           |--------------->|  200 OK F19  |
           |                |------------->|
           |                |    ACK F20   |
           |     ACK F21    |<-------------|
           |<---------------|              |
           |    Both way RTP Established   |
           |<=============================>|
           |     BYE F22    |              |
           |--------------->|   BYE F23    |
           |                |------------->|
           |                |   200 OK F24 |
           |    200 OK F25  |<-------------|
           |<---------------|              |

Johnston, et al. Best Current Practice [Page 6] RFC 5359 SIP Service Examples October 2008

 In this scenario, Alice calls Bob, then Bob places the call on hold.
 Bob then takes the call off hold, then Alice hangs up the call.  Note
 that hold is unidirectional in nature.  However, a UA that places the
 other party on hold will generally also stop sending media, resulting
 in no media exchange between the UAs.  Older UAs may set the
 connection address to 0.0.0.0 when initiating hold.  However, this
 behavior has been deprecated in favor or using the a=inactive SDP
 attribute if no media is sent, or the a=sendonly attribute if media
 is still sent.
 Also note the use of the rendering feature tag defined in RFC 4235
 [RFC4235] used in F10 and F11 to indicate that Bob's UA is no longer
 rendering media to Bob, i.e., that Bob has placed the call on hold.
 Message Details
    F1 INVITE Alice -> Proxy 1
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 INVITE Proxy 1 -> Bob
    INVITE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061

Johnston, et al. Best Current Practice [Page 7] RFC 5359 SIP Service Examples October 2008

     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F3 (100 Trying) Proxy 1 -> Alice
    SIP/2.0 100 Trying
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F4 180 Ringing Bob -> Proxy 1
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159

Johnston, et al. Best Current Practice [Page 8] RFC 5359 SIP Service Examples October 2008

    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content Length:0
    F5 180 Ringing Proxy 1 -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content Length: 0
    F6 200 OK Bob -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 9] RFC 5359 SIP Service Examples October 2008

    F7 200 OK Proxy 1 -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F8 ACK Alice -> Proxy 1
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf92
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F9 ACK Proxy 1 -> Bob
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837492.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061

Johnston, et al. Best Current Practice [Page 10] RFC 5359 SIP Service Examples October 2008

     ;branch=z9hG4bK74bf92
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    /* Bob places Alice on hold.  Note that the version is
       incremented in the o= field of the SDP. */
    F10 INVITE Bob -> Proxy 1
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no"
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=sendonly
    F11 INVITE Proxy 1 -> Alice
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061

Johnston, et al. Best Current Practice [Page 11] RFC 5359 SIP Service Examples October 2008

     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no"
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=sendonly
    /* Alice replies to hold. */
    F12 200 OK Alice -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 12] RFC 5359 SIP Service Examples October 2008

    v=0
    o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=recvonly
    F13 200 OK Proxy 1 -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=recvonly
    F14 ACK Bob -> Proxy 1
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds72
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 ACK

Johnston, et al. Best Current Practice [Page 13] RFC 5359 SIP Service Examples October 2008

    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F15 ACK Proxy 1 -> Alice
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds72
     ;received=192.0.2.105
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    /* Bob takes the call off hold. */
    F16 INVITE Bob -> Proxy 1
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds73
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com

Johnston, et al. Best Current Practice [Page 14] RFC 5359 SIP Service Examples October 2008

    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F17 INVITE Proxy 1 -> Alice
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837493.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds73
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F18 200 OK Alice -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837493.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds73
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 INVITE

Johnston, et al. Best Current Practice [Page 15] RFC 5359 SIP Service Examples October 2008

    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F19 200 OK Proxy 1 -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds73
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F20 ACK Bob -> Proxy 1
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds74
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70

Johnston, et al. Best Current Practice [Page 16] RFC 5359 SIP Service Examples October 2008

    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F21 ACK Proxy 1 -> Alice
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837494.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds74
     ;received=192.0.2.105
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    /* RTP Media stream re-established.  Alice disconnects. */
    F22 BYE Alice -> Proxy 1
    BYE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf97
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F23 BYE Proxy 1 -> Bob
    BYE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837497.1

Johnston, et al. Best Current Practice [Page 17] RFC 5359 SIP Service Examples October 2008

    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf97
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F24 200 OK Bob -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837497.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf97
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F25 200 OK Proxy 1 -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf97
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 18] RFC 5359 SIP Service Examples October 2008

2.2. Consultation Hold

         Alice            Proxy           Bob                Carol
           |                |              |                   |
           |    INVITE F1   |              |                   |
           |--------------->|   INVITE F2  |                   |
           |                |------------->|                   |
           |(100 Trying) F3 |              |                   |
           |<---------------|180 Ringing F4|                   |
           |                |<-------------|                   |
           | 180 Ringing F5 |              |                   |
           |<---------------|  200 OK F6   |                   |
           |                |<-------------|                   |
           |    200 OK F7   |              |                   |
           |<---------------|              |                   |
           |     ACK F8     |              |                   |
           |--------------->|     ACK F9   |                   |
           |                |------------->|                   |
           |     Both way RTP Established  |                   |
           |<=============================>|                   |
           |                |INVITE(hold) F10                  |
           |INVITE(hold) F11|<-------------|                   |
           |<---------------|              |                   |
           |    200 OK F12  |              |                   |
           |--------------->|   200 OK F13 |                   |
           |                |------------->|                   |
           |                |     ACK F14  |                   |
           |                |<-------------|                   |
           |    ACK F15     |              |                   |
           |<---------------|              |                   |
           |         No RTP Sent!          |                   |
           |                |   INVITE F16 |                   |
           |                |<-------------|                   |
           |                |              |    INVITE F17     |
           |                |--------------------------------->|
           |                |(100 Trying) F18                  |
           |                |------------->|                   |
           |                |              | 180 Ringing F19   |
           |                |<---------------------------------|
           |                | 180 Ringing F20                  |
           |                |------------->|                   |
           |                |              |    200 OK F21     |
           |                |<---------------------------------|
           |                |   200 OK F22 |                   |
           |                |------------->|                   |
           |                |    ACK F23   |                   |
           |                |<-------------|                   |
           |                |              |      ACK F24      |

Johnston, et al. Best Current Practice [Page 19] RFC 5359 SIP Service Examples October 2008

           |                |--------------------------------->|
           |                |         Both way RTP Established |
           |                |              |<=================>|
           |                |   BYE F25    |                   |
           |                |<-------------|                   |
           |                |              |       BYE F26     |
           |                |--------------------------------->|
           |                |              |    200 OK F27     |
           |                |<---------------------------------|
           |                |   200 OK F28 |                   |
           |                |------------->|                   |
           |                |   INVITE F29 |                   |
           |    INVITE F30  |<-------------|                   |
           |<---------------|              |                   |
           |    200 OK F31  |              |                   |
           |--------------->|   200 OK F32 |                   |
           |                |------------->|                   |
           |                |     ACK F33  |                   |
           |                |<-------------|                   |
           |    ACK F34     |              |                   |
           |<---------------|              |                   |
           |     Both way RTP Established  |                   |
           |<=============================>|                   |
           |    BYE F35     |              |                   |
           |--------------->|    BYE F36   |                   |
           |                |------------->|                   |
           |                |   200 OK F37 |                   |
           |                |<-------------|                   |
           |  200 OK F38    |              |                   |
           |<---------------|              |                   |
           |                |              |                   |
 In this scenario, Alice calls Bob.  Bob places call on hold.  Bob
 calls Carol.  Bob then disconnects with Carol, then takes the call
 with Alice off hold.  The call ends when Alice hangs up.
 Also note the use of the rendering feature tag defined in RFC 4235
 [RFC4235] used in F10 to indicate that Bob's UA is no longer
 rendering media to Bob, i.e., that Bob has placed the call on hold.
 Message Details
    F1 INVITE Alice -> Proxy 1
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70

Johnston, et al. Best Current Practice [Page 20] RFC 5359 SIP Service Examples October 2008

    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 INVITE Proxy 1 -> Bob
    INVITE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 21] RFC 5359 SIP Service Examples October 2008

    F3 (100 Trying) Proxy 1 -> Alice
    SIP/2.0 100 Trying
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F4 180 Ringing Bob -> Proxy 1
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content Length:0
    F5 180 Ringing Proxy 1 -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content Length: 0

Johnston, et al. Best Current Practice [Page 22] RFC 5359 SIP Service Examples October 2008

    F6 200 OK Bob -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F7 200 OK Proxy 1 -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 23] RFC 5359 SIP Service Examples October 2008

    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F8 ACK Alice -> Proxy 1
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf45
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F9 ACK Proxy 1 -> Bob
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837494.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf45
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 24] RFC 5359 SIP Service Examples October 2008

    /* Bob places Alice on hold. */
    F10 INVITE Bob -> Proxy 1
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no"
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=sendonly
    F11 INVITE Proxy 1 -> Alice
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837497.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no"
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 25] RFC 5359 SIP Service Examples October 2008

    v=0
    o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=sendonly
    F12 200 OK Alice -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837497.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=recvonly
    F13 200 OK Proxy 1 -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=314159

Johnston, et al. Best Current Practice [Page 26] RFC 5359 SIP Service Examples October 2008

    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=recvonly
    F14 ACK Bob -> Proxy 1
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashdsg
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F15 ACK Proxy 1 -> Alice
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK8374.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashdsg
     ;received=192.0.2.105
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567

Johnston, et al. Best Current Practice [Page 27] RFC 5359 SIP Service Examples October 2008

    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F16 INVITE Bob -> Proxy 1
    INVITE sips:carol@chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds22
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 50170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F17 INVITE Proxy 1 -> Carol
    INVITE sips:carol@client.chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749a.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds22
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY

Johnston, et al. Best Current Practice [Page 28] RFC 5359 SIP Service Examples October 2008

    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 50170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F18 (100 Trying) Proxy 1 -> Bob
    SIP/2.0 100 Trying
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds22
     ;received=192.0.2.105
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F19 180 Ringing Carol -> Proxy 1
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749a.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds22
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654
    Call-ID: 9876543210@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Content Length:0
    F20 180 Ringing Proxy 1 -> Bob
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds22

Johnston, et al. Best Current Practice [Page 29] RFC 5359 SIP Service Examples October 2008

     ;received=client.chicago.example.com
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Content Length: 0
    F21 200 OK Carol -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749a.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds22
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F22 200 OK Proxy 1 -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds22
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654

Johnston, et al. Best Current Practice [Page 30] RFC 5359 SIP Service Examples October 2008

    Call-ID: 9876543210@biloxi.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F23 ACK Bob -> Proxy 1
    ACK sips:carol@client.chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds24
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F24 ACK Proxy 1 -> Carol
    ACK sips:carol@client.chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749b.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds24
     ;received=192.0.2.105
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 1 ACK

Johnston, et al. Best Current Practice [Page 31] RFC 5359 SIP Service Examples October 2008

    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F25 BYE Bob -> Proxy 1
    BYE sips:carol@client.chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7j
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F26 BYE Proxy 1 -> Carol
    BYE sips:carol@client.chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749k.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7j
     ;received=192.0.2.105
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F27 200 OK Carol -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749k.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7j
     ;received=192.0.2.105
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654

Johnston, et al. Best Current Practice [Page 32] RFC 5359 SIP Service Examples October 2008

    Call-ID: 9876543210@biloxi.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F28 200 OK Proxy 1 -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7j
     ;received=192.0.2.105
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=456654
    Call-ID: 9876543210@biloxi.example.com
    CSeq: 2 BYE
    Content-Length: 0
    /* Bob takes the call off hold. */
    F29 INVITE Bob -> Proxy 1
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7b
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 33] RFC 5359 SIP Service Examples October 2008

    F30 INVITE Proxy 1 -> Alice
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749q.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7b
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F31 200 OK Alice -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749q.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7b
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 34] RFC 5359 SIP Service Examples October 2008

    v=0
    o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F32 200 OK Proxy 1 -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7b
     ;received=192.0.2.105
    Record-Route: <sips:ss1.example.com;lr>
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F33 ACK Bob -> Proxy 1
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7d7
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces

Johnston, et al. Best Current Practice [Page 35] RFC 5359 SIP Service Examples October 2008

    Content-Length: 0
    F34 ACK Proxy 1 -> Alice
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK8374.1
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7d7
     ;received=192.0.2.105
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F35 BYE Alice -> Proxy 1
    BYE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf10
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F36 BYE Proxy 1 -> Bob
    BYE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK8379.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf10
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 36] RFC 5359 SIP Service Examples October 2008

    F37 200 OK Bob -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK8379.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf10
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F38 200 OK Proxy 1 -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf10
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 37] RFC 5359 SIP Service Examples October 2008

2.3. Music on Hold

         Alice             Bob       Music Server
           |                |              |
           |    INVITE F1   |              |
           |--------------->|              |
           | 180 Ringing F2 |              |
           |<---------------|              |
           |    200 OK F3   |              |
           |<---------------|              |
           |     ACK F4     |              |
           |--------------->|              |
           |       RTP      |              |
           |<==============>|              |
           |                |              |
           |   Bob places Alice on hold    |
           |                |              |
           | INVITE (hold) F5              |
           |<---------------|              |
           |    200 OK F6   |              |
           |--------------->|              |
           |     ACK F7     |              |
           |<---------------|              |
           |    no RTP      |              |
           |                |              |
           |  Bob initiates music on hold  |
           |                |              |
           |                |   REFER Refer-To: A F8
           |                |------------->|
           |                |    202 F9    |
           |                |<-------------|
           |                |   NOTIFY F10 |
           |                |<-------------|
           |                |    200 F11   |
           |                |------------->|
           |  INVITE F12 Replaces: B       |
           |<------------------------------|
           |          200 OK F13           |
           |------------------------------>|
           |           ACK F14             |
           |<------------------------------|
           |           RTP Music           |
           |<==============================|
           |     BYE F15    |              |
           |--------------->|  NOTIFY F17  |
           |  200 OK F16    |<-------------|
           |<---------------|  200 OK F18  |
           |                |------------->|

Johnston, et al. Best Current Practice [Page 38] RFC 5359 SIP Service Examples October 2008

           |                |              |
           | The music on hold is complete |
           |                |              |
           |    Bob takes Alice off hold   |
           |                |              |
           |  INVITE Replaces: M F19       |
           |<---------------|              |
           |    200 OK F20  |              |
           |--------------->|              |
           |     ACK F21    |              |
           |<---------------|              |
           |       RTP      |              |
           |<==============>|              |
           |            BYE F22            |
           |------------------------------>|
           |          200 OK F23           |
           |<------------------------------|
 In this flow, Bob places Alice on hold with music.  This is performed
 by Bob sending a REFER to a Music Server that sends an INVITE with
 Replaces to Alice.  The Music Server then sends RTP music to Alice.
 Bob picks the call up from hold by sending an INVITE with Replaces to
 Alice.
 Note the use of the rendering feature tag defined in RFC 4235
 [RFC4235] used in F5 to indicate that Bob's UA is no longer rendering
 media to Bob, i.e., that Bob has placed the call on hold.  Feature
 tags are also used in F12 with the automaton (defined in RFC 3840
 [RFC3840]) and byeless feature tags (defined in RFC 4235 [RFC4235])
 to describe the capabilities of the Music Server.
 Should Alice not wish to receive music on hold, her UA could refuse
 F12 and she will remain on hold with Bob, but in silence.
 Message Details
   F1 INVITE Alice -> Bob
   INVITE sips:bob@biloxi.example.com SIP/2.0
   Via: SIP/2.0/TLS client.atlanta.example.com:5061
    ;branch=z9hG4bK74bf9
   Max-Forwards: 70
   From: Alice <sips:alice@atlanta.example.com>;tag=1234567
   To: Bob <sips:bob@biloxi.example.com>
   Call-ID: 12345600@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sips:a8342043f@atlanta.example.com;gr>
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY

Johnston, et al. Best Current Practice [Page 39] RFC 5359 SIP Service Examples October 2008

   Supported: replaces, gruu
   Content-Type: application/sdp
   Content-Length: ...
   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=
   c=IN IP4 client.atlanta.example.com
   t=0 0
   m=audio 49170 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   F2 180 Ringing Bob -> Alice
   SIP/2.0 180 Ringing
   Via: SIP/2.0/TLS client.atlanta.example.com:5061
    ;branch=z9hG4bK74bf9
    ;received=192.0.2.103
   From: Alice <sips:alice@atlanta.example.com>;tag=1234567
   To: Bob <sips:bob@biloxi.example.com>;tag=23431
   Call-ID: 12345600@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sips:bob@client.biloxi.example.com>
   Content-Length: 0
   F3 200 OK Bob -> Alice
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS client.atlanta.example.com:5061
    ;branch=z9hG4bK74bf9
    ;received=192.0.2.103
   From: Alice <sips:alice@atlanta.example.com>;tag=1234567
   To: Bob <sips:bob@biloxi.example.com>;tag=23431
   Call-ID: 12345600@atlanta.example.com
   CSeq: 1 INVITE
   Contact: <sips:bob@client.biloxi.example.com>
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
   Supported: replaces
   Content-Type: application/sdp
   Content-Length: ...
   v=0
   o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
   s=
   c=IN IP4 client.biloxi.example.com
   t=0 0

Johnston, et al. Best Current Practice [Page 40] RFC 5359 SIP Service Examples October 2008

   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   F4 ACK Alice -> Bob
   ACK sips:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/TLS client.atlanta.example.com:5061
    ;branch=z9hG4bK74bfd
   Max-Forwards: 70
   From: Alice <sips:alice@atlanta.example.com>;tag=1234567
   To: Bob <sips:bob@biloxi.example.com>;tag=23431
   Call-ID: 12345600@atlanta.example.com
   CSeq: 1 ACK
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
   Supported: replaces
   Content-Length: 0
   /* Bob places Alice on hold. */
   F5 INVITE Bob -> Alice
   INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0
   Via: SIP/2.0/TLS client.biloxi.example.com:5061
    ;branch=z9hG4bK874bk
   To: Alice <sips:alice@atlanta.example.com>;tag=1234567
   From: Bob <sips:bob@biloxi.example.com>;tag=23431
   Call-ID: 12345600@atlanta.example.com
   CSeq: 712 INVITE
   Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no"
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
   Supported: replaces
   Content-Type: application/sdp
   Content-Length: ...
   v=0
   o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
   s=
   c=IN IP4 client.biloxi.example.com
   t=0 0
   m=audio 3456 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   a=sendonly

Johnston, et al. Best Current Practice [Page 41] RFC 5359 SIP Service Examples October 2008

   F6 200 OK Alice -> Bob
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS client.biloxi.example.com:5061
    ;branch=z9hG4bK874bk
    ;received=192.0.2.105
   To: Alice <sips:alice@atlanta.example.com>;tag=1234567
   From: Bob <sips:bob@biloxi.example.com>;tag=23431
   Call-ID: 12345600@atlanta.example.com
   CSeq: 712 INVITE
   Contact: <sips:a8342043f@atlanta.example.com;gr>
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
   Supported: replaces, gruu
   Content-Type: application/sdp
   Content-Length: ...
   v=0
   o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com
   s=
   c=IN IP4 client.atlanta.example.com
   t=0 0
   m=audio 49170 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   a=recvonly
   F7 ACK Bob -> Alice
   ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0
   Via: SIP/2.0/TLS client.biloxi.example.com:5061
    ;branch=z9hG4bKq874b
   To: Alice <sips:alice@atlanta.example.com>;tag=1234567
   From: Bob <sips:bob@biloxi.example.com>;tag=23431
   Call-ID: 12345600@atlanta.example.com
   CSeq: 712 ACK
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
   Supported: replaces
   Content-Length: 0
   /* Bob REFERs Music Server to establish session with Alice
      which replaces the established session between Alice and Bob. */
   F8 REFER Bob -> Music Server
   REFER sips:music@server.example.com SIP/2.0
   Via: SIP/2.0/TLS client.biloxi.example.com:5061
    ;branch=z9hG4bKnashds9

Johnston, et al. Best Current Practice [Page 42] RFC 5359 SIP Service Examples October 2008

   Max-Forwards: 70
   From: Bob <sips:bob@biloxi.example.com>;tag=02134
   To: Music Server <sips:music@server.example.com>
   Call-ID: 4802029847@biloxi.example.com
   CSeq: 1 REFER
 <allOneLine>
   Refer-To: <sips:a8342043f@atlanta.example.com;gr?Replaces=
   12345600%40atlanta.example.com%3Bfrom-tag%3D23431
   %3Bto-tag%3D1234567&Require=replaces>
 </allOneLine>
   Referred-By: <sips:bob@biloxi.example.com>
   Contact: <sips:bob@client.biloxi.example.com>
   Content-Length: 0
   F9 202 Accepted Music Server -> Bob
   SIP/2.0 202 Accepted
   Via: SIP/2.0/TLS client.biloxi.example.com:5061
    ;branch=z9hG4bKnashds9
    ;received=192.0.2.105
   From: Bob <sips:bob@biloxi.example.com>;tag=02134
   To: Music Server <sips:music@server.example.com>;tag=56323
   Call-ID: 4802029847@biloxi.example.com
   Contact: <sips:music@server.example.com>
   CSeq: 1 REFER
   Content-Length: 0
   F10 NOTIFY Music Server -> Bob
   NOTIFY sips:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/TLS server.example.com:5061
    ;branch=z9hG4bK74bT6
   To: Bob <sips:bob@biloxi.example.com>;tag=02134
   Max-Forwards: 70
   From: Music Server <sips:music@server.example.com>;tag=56323
   Call-ID: 4802029847@biloxi.example.com
   CSeq: 1 NOTIFY
   Event: refer
   Subscription-State: active;expires=60
   Contact: <sips:music@server.example.com>
   Content-Type: message/sipfrag
   Content-Length: ...
   SIP/2.0 100 Trying

Johnston, et al. Best Current Practice [Page 43] RFC 5359 SIP Service Examples October 2008

   F11 200 OK Bob -> Music Server
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS server.example.com:5061
    ;branch=z9hG4bK74bT6
    ;received=192.0.2.103
   To: Bob <sips:bob@biloxi.example.com>;tag=02134
   From: Music Server <sips:music@server.example.com>;tag=56323
   Call-ID: 4802029847@biloxi.example.com
   CSeq: 1 NOTIFY
   Content-Length: 0
   /* Music Server places call to Alice to replace session
      between Alice and Bob. */
   F12 INVITE Music Server -> Alice
   INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0
   Via: SIP/2.0/TLS server.example.com:5061
    ;branch=z9hG4bK74rf
   Max-Forwards: 70
   From: <sips:music@server.example.com>;tag=0111
   To: <sips:a8342043f@atlanta.example.com;gr>
   Call-ID: a5-75-34-12-76@server.example.com
   CSeq: 1 INVITE
   Referred-By: <sips:bob@biloxi.example.com>
   Contact: <sips:music@server.example.com>;automaton
    ;+sip.byeless;+sip.rendering="no"
   Require: replaces
   Replaces: 12345600@atlanta.example.com
    ;from-tag=23431;to-tag=1234567
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
   Supported: replaces
   Content-Type: application/sdp
   Content-Length: ...
   v=0
   o=MusicServer 2890844576 2890844576 IN IP4 server.example.com
   s=
   c=IN IP4 server.example.com
   t=0 0
   m=audio 49170 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   a=sendonly

Johnston, et al. Best Current Practice [Page 44] RFC 5359 SIP Service Examples October 2008

   F13 200 OK Alice -> Music Server
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS server.example.com:5061
    ;branch=z9hG4bK74rf
    ;received=192.0.2.103
   From: <sips:music@server.example.com>;tag=0111
   To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594
   Call-ID: a5-75-34-12-76@server.example.com
   CSeq: 1 INVITE
   Contact: <sips:a8342043f@atlanta.example.com;gr>
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
   Supported: replaces, gruu
   Content-Type: application/sdp
   Content-Length: ...
   v=0
   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
   s=
   c=IN IP4 client.atlanta.example.com
   t=0 0
   m=audio 49170 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   a=recvonly
   F14 ACK Music Server -> Alice
   ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0
   Via: SIP/2.0/TLS server.example.com:5061
    ;branch=z9hG4bK7rfF
   Max-Forwards: 70
   From: <sips:music@server.example.com>;tag=0111
   To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594
   Call-ID: a5-75-34-12-76@server.example.com
   CSeq: 1 ACK
   Content-Length: 0
   F15 BYE Alice -> Bob
   BYE sips:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/TLS client.atlanta.example.com:5061
    ;branch=z9hG4bKnashds7
   Max-Forwards: 70
   From: Alice <sips:alice@atlanta.example.com>;tag=1234567
   To: Bob <sips:bob@biloxi.example.com>;tag=23431
   Call-ID: 12345600@atlanta.example.com

Johnston, et al. Best Current Practice [Page 45] RFC 5359 SIP Service Examples October 2008

   CSeq: 2 BYE
   Content-Length: 0
   F16 200 OK Bob -> Alice
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS client.atlanta.example.com:5061
    ;branch=z9hG4bKnashds7
    ;received=192.0.2.105
   From: Alice <sips:alice@atlanta.example.com>;tag=1234567
   To: Bob <sips:bob@biloxi.example.com>;tag=23431
   Call-ID: 12345600@atlanta.example.com
   CSeq: 2 BYE
   Content-Length: 0
   /* Music Server reports success back to Bob by returning
      a 200 OK response.  Bob obtains the dialog identifiers
      from the headers included in the response. */
   F17 NOTIFY Music Server -> Bob
   NOTIFY sips:bob@client.biloxi.example.com SIP/2.0
   Via: SIP/2.0/TLS server.example.com:5061
    ;branch=z9hG4bK74bf9
   To: Bob <sips:bob@biloxi.example.com>;tag=02134
   Max-Forwards: 70
   From: Music Server <sips:music@server.example.com>;tag=56323
   Call-ID: 4802029847@biloxi.example.com
   CSeq: 2 NOTIFY
   Event: refer
   Subscription-State: terminated;reason=noresource
   Contact: <sips:music@server.example.com>
   Content-Type: message/sipfrag
   Content-Length: ...
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS server.example.com:5061
    ;branch=z9hG4bK74rf
    ;received=192.0.2.103
   From: <sips:music@server.example.com>;tag=0111
   To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594
   Call-ID: a5-75-34-12-76@server.example.com
   CSeq: 1 INVITE
   Contact: <sips:a8342043f@atlanta.example.com;gr>

Johnston, et al. Best Current Practice [Page 46] RFC 5359 SIP Service Examples October 2008

   F18 200 OK Bob -> Music Server
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS server.example.com:5061
    ;branch=z9hG4bK74bf9
    ;received=192.0.2.103
   To: Bob <sips:bob@biloxi.example.com>;tag=02134
   From: Music Server <sips:music@server.example.com>;tag=56323
   Call-ID: 4802029847@biloxi.example.com
   CSeq: 2 NOTIFY
   Content-Length: 0
   /* Alice is now parked at the Music Server. */
   /* Bob picks up the call by sending an INVITE to Alice, who
      replaces the existing session with the Music Server. */
   F19 INVITE Bob -> Alice
   INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0
   Via: SIP/2.0/TLS client.biloxi.example.com:5061
    ;branch=z9hG4bK74bf9
   From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr
   To: Alice <sips:a8342043f@atlanta.example.com;gr>
   Call-ID: uioewrjk2k2were
   CSeq: 42121 INVITE
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
    SUBSCRIBE, NOTIFY
   Replaces: a5-75-34-12-76@server.example.com
    ;to-tag=098594;from-tag=0111
   Contact: <sips:bob@client.biloxi.example.com>
   Supported: replaces
   Content-Type: application/sdp
   Content-Length: ...
   v=0
   o=bob 2890844631 2890844631 IN IP4 client.biloxi.example.com
   s=
   c=IN IP4 client.biloxi.example.com
   t=0 0
   m=audio 3458 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   a=sendrecv

Johnston, et al. Best Current Practice [Page 47] RFC 5359 SIP Service Examples October 2008

   F20 200 OK Alice -> Bob
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS client.biloxi.example.com:5061
    ;branch=z9hG4bK74bf9
    ;received=192.0.2.105
   From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr
   To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=6654323
   Call-ID: uioewrjk2k2were
   CSeq: 42121 INVITE
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
    SUBSCRIBE, NOTIFY
   Contact: <sips:alice@client.atlanta.example.com>
   Supported: replaces
   Content-Type: application/sdp
   Content-Length: ...
   v=0
   o=alice 2890844576 2890844576 IN IP4 client.atlanta.example.com
   s=
   c=IN IP4 client.atlanta.example.com
   t=0 0
   m=audio 49170 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
   a=sendrecv
   F21 200 ACK Bob -> Alice
   ACK sips:alice@client.atlanta.example.com SIP/2.0
   Via: SIP/2.0/TLS client.biloxi.example.com:5061
    ;branch=z9hG4bKj974bf9
   From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr
   To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=6654323
   Call-ID: uioewrjk2k2were
   CSeq: 42121 ACK
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
    SUBSCRIBE, NOTIFY
   Supported: replaces
   Content-Length: 0
   F22 BYE Alice -> Music Server
   BYE sips:music@server.example.com SIP/2.0
   Max-Forwards: 70
   Via: SIP/2.0/TLS client.atlanta.example.com:5061
    ;branch=z9hG4bK74rf

Johnston, et al. Best Current Practice [Page 48] RFC 5359 SIP Service Examples October 2008

   To: <sips:music@server.example.com>;tag=0111
   From: <sips:a8342043f@atlanta.example.com;gr>;tag=098594
   Call-ID: a5-75-34-12-76@server.example.com
   CSeq: 15 BYE
   Content-Length: 0
   F23 200 OK Music Server -> Alice
   SIP/2.0 200 OK
   Via: SIP/2.0/TLS client.atlanta.example.com:5061
    ;branch=z9hG4bK74rf
    ;received=192.0.2.103
   To: <sips:music@server.example.com>;tag=0111
   From: <sips:a8342043f@atlanta.example.com;gr>;tag=098594
   Call-ID: a5-75-34-12-76@server.example.com
   CSeq: 15 BYE
   Content-Length: 0
   /* Normal media session between Alice and Bob is resumed. */

Johnston, et al. Best Current Practice [Page 49] RFC 5359 SIP Service Examples October 2008

2.4. Transfer - Unattended

        Alice                 Bob                 Carol
          |      INVITE F1     |                    |
          |<-------------------|                    |
          |   180 Ringing F2   |                    |
          |------------------->|                    |
          |      200 OK F3     |                    |
          |------------------->|                    |
          |        ACK F4      |                    |
          |<-------------------|                    |
          |        RTP         |                    |
          |<==================>|                    |
          |                    |                    |
          |  Alice performs unattended transfer     |
          |                    |                    |
          | REFER Refer-To:C F5|                    |
          |------------------->|                    |
          |  202 Accepted F6   |                    |
          |<-------------------|                    |
          |      NOTIFY F7     |                    |
          |<-------------------|                    |
          |      200 OK F8     |                    |
          |------------------->|                    |
          |       BYE F9       |                    |
          |------------------->|                    |
          |     200 OK F10     |                    |
          |<-------------------|                    |
          |   No RTP Session   | INVITE Referred-By: A F11
          |                    |------------------->|
          |                    |   180 Ringing F12  |
          |                    |<-------------------|
          |                    |     200 OK F13     |
          |                    |<-------------------|
          |                    |       ACK F14      |
          |                    |------------------->|
          |                    |        RTP         |
          |                    |<==================>|
          |      NOTIFY F15    |                    |
          |<-------------------|                    |
          |      200 OK F16    |                    |
          |------------------->|                    |
          |                    |                    |

Johnston, et al. Best Current Practice [Page 50] RFC 5359 SIP Service Examples October 2008

 In this scenario, Bob calls Alice.  Alice then transfers Bob to
 Carol, then Alice disconnects with Bob.  Bob establishes the session
 to Carol then reports the success back to Alice in the NOTIFY in F15.
 If the transfer fails, Bob can send a new INVITE back to Alice to re-
 establish the session.
 Despite the BYE sent by Alice in F9, the dialog between Alice and Bob
 still exists until the subscription created by the REFER has
 terminated (either due to a NOTIFY containing a Subscription-State:
 terminated;reason=noresource header field, as in F15, or a 481
 response to a NOTIFY).
 For more about call transfer, see the transfer document [TRANSFER].
 Message Details
    F1 INVITE Bob -> Alice
    INVITE sips:alice@atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 180 Ringing Alice -> Bob
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=314159

Johnston, et al. Best Current Practice [Page 51] RFC 5359 SIP Service Examples October 2008

    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Content-Length: 0
    F3 200 OK Alice -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F4 ACK Bob -> Alice
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds2
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    /* Session is established between Alice and Bob. */

Johnston, et al. Best Current Practice [Page 52] RFC 5359 SIP Service Examples October 2008

    /* Alice performs unattended transfer of Bob to Carol. */
    F5 REFER Alice -> Bob
    REFER sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds8
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 101 REFER
    Refer-To: <sips:carol@chicago.example.com>
    Referred-By: <alice@atlanta.example.com>
    Contact: <sips:alice@client.atlanta.example.com>
    Content-Length: 0
    F6 202 Accepted Bob -> Alice
    SIP/2.0 202 Accepted
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds8
     ;received=192.0.2.105
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    Contact: <sips:bob@client.biloxi.example.com>
    CSeq: 101 REFER
    Content-Length: 0
    F7 NOTIFY Bob -> Alice
    NOTIFY sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds32
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 NOTIFY
    Event: refer
    Subscription-State: active;expires=60
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Type: message/sipfrag
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 53] RFC 5359 SIP Service Examples October 2008

    SIP/2.0 100 Trying
    F8 200 OK Alice -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds32
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 2 NOTIFY
    Content-Length: 0
    /* Alice now disconnects with Bob. */
    F9 BYE Alice -> Bob
    BYE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds43
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 102 BYE
    Content-Length: 0
    F10 200 OK Bob -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds43
     ;received=192.0.2.105
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345601@atlanta.example.com
    CSeq: 102 BYE
    Content-Length: 0
    /* Bob attempts the transfer to Carol. */

Johnston, et al. Best Current Practice [Page 54] RFC 5359 SIP Service Examples October 2008

    F11 INVITE Bob -> Carol
    INVITE sips:carol@chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds1
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>
    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Referred-By: <alice@atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3458 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F12 180 Ringing Carol -> Bob
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds1
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=928287
    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Content-Length: 0
    F13 200 OK Carol -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds1
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=928287

Johnston, et al. Best Current Practice [Page 55] RFC 5359 SIP Service Examples October 2008

    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890944542 2890844542 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F14 ACK Bob -> Carol
    ACK sips:carol@client.chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds9
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=928287
    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* Bob and Carol now have established a session.  Bob reports
       success to Alice, which Alice probably ignores. */
    F15 NOTIFY Bob -> Alice
    NOTIFY sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds67
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 3 NOTIFY
    Event: refer
    Subscription-State: terminated;reason=noresource
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Type: message/sipfrag

Johnston, et al. Best Current Practice [Page 56] RFC 5359 SIP Service Examples October 2008

    Content-Length: ...
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds1
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=928287
    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Content-Type: application/sdp
    Content-Length: ...
    F16 200 OK Alice -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds6
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=314159
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345601@atlanta.example.com
    CSeq: 3 NOTIFY
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 57] RFC 5359 SIP Service Examples October 2008

2.5. Transfer - Attended

         Alice             Bob          Carol
           |                |              |
           |    INVITE F1   |              |
           |--------------->|              |
           | 180 Ringing F2 |              |
           |<---------------|              |
           |    200 OK F3   |              |
           |<---------------|              |
           |     ACK F4     |              |
           |--------------->|              |
           |       RTP      |              |
           |<==============>|              |
           |INVITE (hold) F5|              |
           |<---------------|              |
           |    200 OK F6   |              |
           |--------------->|              |
           |     ACK F7     |              |
           |<---------------|              |
           |     No RTP     |              |
           |                |  INVITE F8   |
           |                |------------->|
           |                | 180 Ringing F9
           |                |<-------------|
           |                |  200 OK F10  |
           |                |<-------------|
           |                |    ACK F11   |
           |                |------------->|
           |                |     RTP      |
           |                |<============>|
           |                |INVITE (hold) F12
           |                |------------->|
           |                | 200 OK F13   |
           |                |<-------------|
           |                |    ACK F14   |
           |                |------------->|
           |                |     No RTP   |
           | REFER Refer-To: C F15         |
           |<---------------|              |
           |202 Accepted F16|              |
           |--------------->|              |
           |   NOTIFY F17   |              |
           |--------------->|              |
           |   200 OK F18   |              |
           |<---------------|              |
           |     INVITE Replaces: B F19    |
           |------------------------------>|

Johnston, et al. Best Current Practice [Page 58] RFC 5359 SIP Service Examples October 2008

           |            200 OK F20         |
           |<------------------------------|
           |             ACK F21           |
           |------------------------------>|
           |               RTP             |
           |<=============================>|
           |                |    BYE F22   |
           |                |<-------------|
           |                |  200 OK F23  |
           |                |------------->|
           |   NOTIFY F24   |              |
           |--------------->|              |
           |   200 OK F25   |              |
           |<---------------|              |
           |    BYE F26     |              |
           |<---------------|              |
           |   200 OK F27   |              |
           |--------------->|              |
 In this scenario, Alice calls Bob.  Bob puts Alice on hold then calls
 Carol to announce transfer, then places Carol on hold.  Bob transfers
 Alice to Carol, which replaces the session between Bob and Carol.
 Carol then disconnects session with Bob.  Alice reports success of
 transfer to Bob, who then disconnects with Alice.  In this example,
 the Replaces header field [RFC3891] is inserted into the Refer-To URI
 by Bob.  Note that the Refer-To URI is the Contact URI returned by
 Carol in the 200 OK response F10.  This ensures that only the correct
 instance of Carol is reached.  The presence of the gr URI parameter
 in the Contact URI in message F10 indicates that the Contact URI is a
 GRUU [GRUU] and will be globally routable outside of the dialog.
 Without knowing the Contact URI is a gruu, Bob must be prepared, if
 the triggered INVITE had failed, to retry the REFER with a Refer-To
 URI of the URI used to reach Carol but with a Require: replaces
 header escaped in the Refer-To header field, as discussed in the
 transfer document [TRANSFER].
 Message Details
    F1 INVITE Alice -> Bob
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com

Johnston, et al. Best Current Practice [Page 59] RFC 5359 SIP Service Examples October 2008

    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 180 Ringing Bob -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Length: 0
    F3 200 OK Bob -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 60] RFC 5359 SIP Service Examples October 2008

    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F4 ACK Alice -> Bob
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    /* Alice and Bob have established a session.
       Bob puts Alice on hold. */
    F5 INVITE Bob -> Alice
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 INVITE
    Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no"
    Content-Type: application/sdp
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com

Johnston, et al. Best Current Practice [Page 61] RFC 5359 SIP Service Examples October 2008

    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=sendonly
    F6 200 OK Alice -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=recvonly
    F7 ACK Bob -> Alice
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds3
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 ACK
    Content-Length: 0
    /* Bob calls Carol. */

Johnston, et al. Best Current Practice [Page 62] RFC 5359 SIP Service Examples October 2008

    F8 INVITE Bob -> Carol
    INVITE sips:carol@chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3458 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F9 180 Ringing Carol -> Bob
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 INVITE
    Contact: <sips:39itp34klkd@chicago.example.com>
    Content-Length: 0
    F10 200 OK Carol -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com

Johnston, et al. Best Current Practice [Page 63] RFC 5359 SIP Service Examples October 2008

    CSeq: 42 INVITE
    Contact: <sips:39itp34klkd@chicago.example.com;gr>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F11 ACK Bob -> Carol
    ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashd5
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 ACK
    Content-Length: 0
    /* Bob puts Carol on hold. */
    F12 INVITE Bob -> Carol
    INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds0
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 43 INVITE
    Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no"
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 64] RFC 5359 SIP Service Examples October 2008

    v=0
    o=bob 289084834 2890844835 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3458 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=sendonly
    F13 200 OK Carol -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds0
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 43 INVITE
    Contact: <sips:39itp34klkd@chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890844922 2890844923 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    a=recvonly
    F14 ACK Bob -> Carol
    ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash334
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com

Johnston, et al. Best Current Practice [Page 65] RFC 5359 SIP Service Examples October 2008

    CSeq: 43 ACK
    Content-Length: 0
    /* Bob transfers Alice to Carol. */
    F15 REFER Bob -> Alice
    REFER sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds2g
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1025 REFER
  <allOneLine>
    Refer-To: <sips:39itp34klkd@chicago.example.com?Replaces=
    sdjfdjfskdf%40biloxi.example.com%3Bto-tag%3D5f35a3
    %3Bfrom-tag%3D8675309&Require=replaces>
  </allOneLine>
    Referred-By: <sips:bob@biloxi.example.com>
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Length: 0
    F16 202 Accepted Alice -> Bob
    SIP/2.0 202 Accepted
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds2g
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    Contact: <sips:alice@client.atlanta.example.com>
    CSeq: 1025 REFER
    Content-Length: 0
    F17 NOTIFY Alice -> Bob
    NOTIFY sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfK
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431

Johnston, et al. Best Current Practice [Page 66] RFC 5359 SIP Service Examples October 2008

    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 NOTIFY
    Contact: <sips:alice@client.atlanta.example.com>
    Event: refer
    Subscription-State: active;expires=60
    Content-Type: message/sipfrag
    Content-Length: ...
    SIP/2.0 100 Trying
    F18 200 OK Bob -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfK
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 NOTIFY
    Content-Length: 0
    /* Alice establishes session with Carol, which replaces the
       session between Bob and Carol. */
    F19 INVITE Alice -> Carol
    INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0
    Via: SIP/2.0/TLS chicago.example.com:5061
     ;branch=z9hG4bKadfe4ko
    To: Carol <sips:39itp34klkd@chicago.example.com>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=3461
    Call-ID: 9435674543@atlanta.example.com
    CSeq: 1 INVITE
    Require: replaces
    Referred-By: <sips:bob@biloxi.example.com>
    Replaces: sdjfdjfskdf@biloxi.example.com
     ;to-tag=5f35a3;from-tag=8675309
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 67] RFC 5359 SIP Service Examples October 2008

    v=0
    o=alice 2890844989 2890844989 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 3458 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F20 200 OK Carol -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS chicago.example.com:5061
     ;branch=z9hG4bKadfe4ko
     ;received=192.0.2.103
    To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a
    From: Alice <sips:alice@atlanta.example.com>;tag=3461
    Call-ID: 9435674543@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:39itp34klkd@chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890844221 2890844221 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 49172 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F21 ACK Alice -> Carol
    ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0
    Via: SIP/2.0/TLS chicago.example.com:5061
     ;branch=z9hG4bKadfe4kU3
    To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=3461
    Call-ID: 9435674543@atlanta.example.com
    CSeq: 1 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY

Johnston, et al. Best Current Practice [Page 68] RFC 5359 SIP Service Examples October 2008

    Supported: replaces
    Content-Length: 0
    /* Carol then disconnects from Bob. */
    F22 BYE Carol -> Bob
    BYE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfE
    To: Bob <sips:bob@biloxi.example.com>;tag=8675309
    Max-Forwards: 70
    From: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 1 BYE
    Content-Length: 0
    F23 200 OK Bob -> Carol
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfE
     ;received=192.0.2.123
    To: Bob <sips:bob@biloxi.example.com>;tag=8675309
    From: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 1 BYE
    Content-Length: 0
    /* Alice tells Bob that the call has been
       successfully transferred. */
    F24 NOTIFY Alice -> Bob
    NOTIFY sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf2N
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 3 NOTIFY
    Event: refer
    Subscription-State: terminated;reason=noresource

Johnston, et al. Best Current Practice [Page 69] RFC 5359 SIP Service Examples October 2008

    Contact: <sips:alice@client.atlanta.example.com>
    Content-Type: message/sipfrag
    Content-Length: ...
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS chicago.example.com:5061
     ;branch=z9hG4bKadfe4ko
     ;received=192.0.2.103
    To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a
    From: Alice <sips:alice@atlanta.example.com>;tag=3461
    Call-ID: 9435674543@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:39itp34klkd@chicago.example.com>
    F25 200 OK Bob -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 3 NOTIFY
    Content-Length: 0
    /* Bob disconnects with Alice. */
    F26 BYE Bob -> Alice
    BYE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7P
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1026 BYE
    Content-Length: 0
    F27 200 OK Alice -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7P

Johnston, et al. Best Current Practice [Page 70] RFC 5359 SIP Service Examples October 2008

     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1026 BYE
    Content-Length: 0

2.6. Transfer - Instant Messaging

          Alice          Bob                Carol
           |              |                   |
           |   INVITE F1  |                   |
           |------------->|                   |
           | 180 Ringing F2                   |
           |<-------------|                   |
           |  200 OK F3   |                   |
           |<-------------|                   |
           |    ACK F4    |                   |
           |------------->|                   |
           |  Both way RTP Established        |
           |<============>|                   |
           |              |     MESSAGE F5    |
           |              |------------------>|
           |              |     200 OK F6     |
           |              |<------------------|
           |              |                   |
           |       INVITE Replaces:A-B F7     |
           |<---------------------------------|
           |            200 OK F8             |
           |--------------------------------->|
           |               ACK F9             |
           |<---------------------------------|
           |   Both way RTP Established       |
           |<================================>|
           |    BYE F10   |                   |
           |------------->|                   |
           |  200 OK F11  |                   |
           |<-------------|                   |
           |                                  |
 In this scenario, Alice and Bob establish a session between them.
 Bob wants Carol to take the call and so sends an Instant Message (IM)
 to Carol containing Alice's URI and an embedded Replaces header
 field.  If Carol clicks on the URI, Carol's SIP UA sends an INVITE to
 Alice, which replaces the session with Bob.

Johnston, et al. Best Current Practice [Page 71] RFC 5359 SIP Service Examples October 2008

 This scenario shows the use of the SIP MESSAGE [RFC3428] method to
 pass the URI.  However, another IM protocol or other method could
 have been used to pass the URI from Bob to Carol.
 Message Details
    F1 INVITE Alice -> Bob
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:a8342043f@atlanta.example.com;gr>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 180 Ringing Bob -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 72] RFC 5359 SIP Service Examples October 2008

    F3 200 OK Bob -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    Contact: <sips:bob@client.biloxi.example.com>
    CSeq: 1 INVITE
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F4 ACK Alice -> Bob
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74r
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    CSeq: 1 ACK
    Content-Length: 0
    /* Bob IMs Carol. */
    F5 MESSAGE Bob -> Carol
    MESSAGE sips:carol@chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash
    Max-Forwards: 70

Johnston, et al. Best Current Practice [Page 73] RFC 5359 SIP Service Examples October 2008

    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 MESSAGE
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE
    Supported: replaces
    Content-Type: text/html
    Content-Length: ...
    <HTML>Do you want to take this call from
  <allOneLine>
    <A HREF="sips:a8342043f@atlanta.example.com;gr?Replaces=
    12345600@atlanta.example.com%3Bto-tag%3D3145678
    %3Bfrom-tag%3D1234567&Require=replaces">
    Alice</A>?
  </allOneLine>
     </HTML>
    F6 200 OK Carol -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=5f35a3
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 MESSAGE
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE
    Supported: replaces
    Content-Length: 0
    /* Carol takes the call from Bob. */
    F7 INVITE  Carol -> Alice
    INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0
    Via: SIP/2.0/TLS pc.biloxi.example.com:5061
     ;branch=z9hG4bK74HH
    Max-Forwards: 70
    From: Carol <sips:carol@chicago.example.com>;tag=8675310
    To: Alice <sips:a8342043f@atlanta.example.com;gr>
    Call-ID: 563456212@b2.chicago.example.com
    CSeq: 1 INVITE
    Require: replaces

Johnston, et al. Best Current Practice [Page 74] RFC 5359 SIP Service Examples October 2008

    Replaces: 12345600@atlanta.example.com
     ;to-tag=3145678;from-tag=1234567
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890843122 2890843122 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 5342 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    /* Alice matches the dialog information in the
       Replaces header and accepts the INVITE. */
    F8 200 OK Alice -> Carol
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS pc.biloxi.example.com:5061
     ;branch=z9hG4bK74HH
     ;received=192.0.2.114
    From: Carol <sips:carol@chicago.example.com>;tag=8675310
    To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=131256
    Call-ID: 563456212@b2.chicago.example.com
    CSeq: 1 INVITE
    Contact: <sips:a8342043f@atlanta.example.com;gr>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 289084543 289084543 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49172 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 75] RFC 5359 SIP Service Examples October 2008

    F9 ACK  Carol -> Alice
    ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0
    Via: SIP/2.0/TLS b2.biloxi.example.com:5061
     ;branch=z9hG4bK7435
    Max-Forwards: 70
    From: Carol <sips:carol@chicago.example.com>;tag=8675310
    To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=131256
    Call-ID: 563456212@b2.chicago.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* RTP streams are established between Alice and Carol.
       Alice hangs up with Bob due to the Replaces header field. */
    F10 BYE Alice -> Bob
    BYE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F11 200 OK Bob -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    CSeq:  2 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 76] RFC 5359 SIP Service Examples October 2008

2.7. Call Forwarding Unconditional

          Alice           Proxy          Gateway
           |                |              |
           |    INVITE F1   |              |
           |--------------->|              |
           |(100 Trying) F2 |              |
           |<---------------|              |
           | (181 Call Is Being Forwarded) F3
           |<---------------|   INVITE F4  |
           |                |------------->|
           |                |180 Ringing F5|
           | 180 Ringing F6 |<-------------|
           |<---------------|  200 OK F7   |
           |    200 OK F8   |<-------------|
           |<---------------|              |
           |     ACK F9     |              |
           |--------------->|    ACK F10   |
           |                |------------->|
           |    Both way RTP Established   |
           |<=============================>|
           |     BYE F11    |              |
           |--------------->|   BYE F12    |
           |                |------------->|
           |                |   200 OK F13 |
           |    200 OK F14  |<-------------|
           |<---------------|              |
           |                |              |
 Bob wants all calls forwarded to the Public Switched Telephone
 Network (PSTN) (which is just another URI to the proxy server).
 Alice calls Bob.  The proxy server rewrites the Request URI, and
 forwards the INVITE to a Gateway.  Details of messaging behind the
 Gateway are not shown.
 Note that the 181 Call is Being Forwarded response is shown as sent
 by the proxy.  Strictly speaking, the proxy is behaving as a user
 agent in this case as a proxy cannot generate non-100 provisional
 responses.
 Note also that forwarding could be accomplished using a redirect (302
 Moved Temporarily response).

Johnston, et al. Best Current Practice [Page 77] RFC 5359 SIP Service Examples October 2008

 Message Details
    F1 INVITE Alice -> Proxy
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 (100 Trying) Proxy -> Alice
    SIP/2.0 100 Trying
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F3 (181 Call is Being Forwarded) Proxy -> Alice
    SIP/2.0 181 Call is Being Forwarded
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=9214d

Johnston, et al. Best Current Practice [Page 78] RFC 5359 SIP Service Examples October 2008

    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    /* Proxy forwards call by rewriting Request-URI. */
    F4 INVITE Proxy -> Gateway
    INVITE sips:+19727293660@gw1.example.com;user=phone SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F5 180 Ringing Gateway -> Proxy
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com

Johnston, et al. Best Current Practice [Page 79] RFC 5359 SIP Service Examples October 2008

    CSeq: 1 INVITE
    Contact: <sips:+19727293660@gw1.example.com;user=phone>
    Content Length:0
    F6 180 Ringing Proxy -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:+19727293660@gw1.example.com;user=phone>
    Content Length: 0
    F7 200 OK Gateway -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:+19727293660@gw1.example.com;user=phone>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com
    s=
    c=IN IP4 gatewayone.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 80] RFC 5359 SIP Service Examples October 2008

    F8 200 OK Proxy -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:+19727293660@gw1.example.com;user=phone>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com
    s=
    c=IN IP4 gatewayone.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F9 ACK Alice -> Proxy
    ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf31
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F10 ACK Proxy -> Gateway
    ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749ws.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf31
     ;received=192.0.2.103
    Max-Forwards: 69

Johnston, et al. Best Current Practice [Page 81] RFC 5359 SIP Service Examples October 2008

    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F11 BYE Alice -> Proxy
    BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfJe
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F12 BYE Proxy -> Gateway
    BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749G1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfJe
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F13 200 OK Gateway -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749G1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfJe
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159

Johnston, et al. Best Current Practice [Page 82] RFC 5359 SIP Service Examples October 2008

    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F14 200 OK Proxy -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfJe
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 12345600@atlanta.example.com
    CSeq:  2 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 83] RFC 5359 SIP Service Examples October 2008

2.8. Call Forwarding - Busy

         Alice            Proxy          User B1             User B2
           |                |              |                   |
           |    INVITE F1   |              |                   |
           |--------------->|   INVITE F2  |                   |
           |                |------------->|                   |
           |(100 Trying) F3 |              |                   |
           |<---------------|  486 Busy F4 |                   |
           |                |<-------------|                   |
           |                |     ACK F5   |                   |
           |                |------------->|                   |
           |(181 Call is Being Forwarded) F6                   |
           |<---------------|              |    INVITE F7      |
           |                |--------------------------------->|
           |                |              | 180 Ringing F8    |
           |                |<---------------------------------|
           | 180 Ringing F9 |              |                   |
           |<---------------|              |      200 OK F10   |
           |                |<---------------------------------|
           |    200 OK F11  |              |                   |
           |<---------------|              |                   |
           |     ACK F12    |              |                   |
           |--------------->|              |     ACK F13       |
           |                |--------------------------------->|
           |               Both way RTP Established            |
           |<=================================================>|
           |    BYE F14     |              |                   |
           |--------------->|              |      BYE F15      |
           |                |--------------------------------->|
           |                |              |    200 OK F16     |
           |  200 OK F17    |<---------------------------------|
           |<---------------|              |                   |
           |                |              |                   |
 Bob wants calls to B1 forwarded to B2 if B1 is busy (this information
 is known to the proxy).  Alice calls B1, B1 is busy, the proxy server
 places call to B2.
 Message Details
    F1 INVITE Alice -> Proxy
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70

Johnston, et al. Best Current Practice [Page 84] RFC 5359 SIP Service Examples October 2008

    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 INVITE Proxy -> B1
    INVITE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 85] RFC 5359 SIP Service Examples October 2008

    F3 (100 Trying) Proxy -> Alice
    SIP/2.0 100 Trying
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F4 486 Busy Here B1 -> Proxy
    SIP/2.0 486 Busy Here
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F5 ACK Proxy -> B1
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F6 (181 Call is Being Forwarded) Proxy -> Alice
    SIP/2.0 181 Call is Being Forwarded
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103

Johnston, et al. Best Current Practice [Page 86] RFC 5359 SIP Service Examples October 2008

    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=9214d
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    /* The proxy now forwards the call to B2. */
    F7 INVITE Proxy -> B2
    INVITE sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F8 180 Ringing B2 -> Proxy
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567

Johnston, et al. Best Current Practice [Page 87] RFC 5359 SIP Service Examples October 2008

    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client2.biloxi.example.com>
    Content-Length: 0
    F9 180 Ringing Proxy -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client2.biloxi.example.com>
    Content-Length: 0
    F10 200 OK B2 -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client2.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com
    s=
    c=IN IP4 client2.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 88] RFC 5359 SIP Service Examples October 2008

    F11 200 OK Proxy -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client2.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com
    s=
    c=IN IP4 client2.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F12 ACK Alice -> Proxy
    ACK sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfX
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F13 ACK Proxy -> B2
    ACK sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83731
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfX
     ;received=192.0.2.103
    Max-Forwards: 69

Johnston, et al. Best Current Practice [Page 89] RFC 5359 SIP Service Examples October 2008

    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* RTP streams are established between Alice and B2. */
    /* Alice eventually hangs up with User B2. */
    F14 BYE Alice -> Proxy
    BYE sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bW4
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F15 BYE Proxy -> B2
    BYE sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837493
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bW4
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F16 200 OK B2 -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837493
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061

Johnston, et al. Best Current Practice [Page 90] RFC 5359 SIP Service Examples October 2008

     ;branch=z9hG4bK74bW4
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F17 200 OK Proxy -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bW4
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq:  2 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 91] RFC 5359 SIP Service Examples October 2008

2.9. Call Forwarding - No Answer

         Alice            Proxy         User B1             User B2
           |                |              |                   |
           |    INVITE F1   |              |                   |
           |--------------->|   INVITE F2  |                   |
           |(100 Trying) F3 |------------->|                   |
           |<---------------|180 Ringing F4|                   |
           | 180 Ringing F5 |<-------------|                   |
           |<---------------|              |                   |
           |                 Request Timeout                   |
           |                |              |                   |
           |                |   CANCEL F6  |                   |
           |                |------------->|                   |
           |                |   200 OK F7  |                   |
           |                |<-------------|                   |
           |                |     487 F8   |                   |
           |                |<-------------|                   |
           |                |     ACK F9   |                   |
           |                |------------->|                   |
           |(181 Call is Being Forwarded) F10                  |
           |<---------------|              |    INVITE F11     |
           |                |--------------------------------->|
           |                |              | 180 Ringing F12   |
           | 180 Ringing F13|<---------------------------------|
           |<---------------|              |      200 OK F14   |
           |                |<---------------------------------|
           |   200 OK F15   |              |                   |
           |<---------------|              |                   |
           |     ACK F16    |              |                   |
           |--------------->|              |     ACK F17       |
           |                |--------------------------------->|
           |               Both way RTP Established            |
           |<=================================================>|
           |    BYE F18     |              |                   |
           |--------------->|              |      BYE F19      |
           |                |--------------------------------->|
           |                |              |    200 OK F20     |
           |  200 OK F21    |<---------------------------------|
           |<---------------|              |                   |
           |                |              |                   |
 Bob wants calls to B1 forwarded to B2 if B1 is not answered
 (information is known to the proxy server).  Alice calls B1 and no
 one answers.  The proxy server then places the call to B2.

Johnston, et al. Best Current Practice [Page 92] RFC 5359 SIP Service Examples October 2008

 Message Details
    F1 INVITE Alice -> Proxy
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 INVITE Proxy -> B1
    INVITE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=

Johnston, et al. Best Current Practice [Page 93] RFC 5359 SIP Service Examples October 2008

    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F3 (100 Trying) Proxy -> Alice
    SIP/2.0 100 Trying
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F4 180 Ringing B1 -> Proxy
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Length: 0
    F5 180 Ringing Proxy -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE

Johnston, et al. Best Current Practice [Page 94] RFC 5359 SIP Service Examples October 2008

    Contact: <sips:bob@client.biloxi.example.com>
    Content-Length: 0
    /* B1 rings until a configurable timer expires in the proxy.  The
       proxy sends Cancel and proceeds down the list of routes. */
    F6 CANCEL Proxy -> B1
    CANCEL sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 CANCEL
    Content-Length: 0
    F7 200 OK B1 -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=329d823
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 CANCEL
    Content-Length: 0
    F8 487 Request Terminated B1 -> Proxy
    SIP/2.0 487 Request Terminated
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 95] RFC 5359 SIP Service Examples October 2008

    F9 ACK Proxy -> B1
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=3145678
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F10 (181 Call is Being Forwarded) Proxy -> Alice
    SIP/2.0 181 Call is Being Forwarded
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=9214d
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F11 INVITE Proxy -> B2
    INVITE sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=

Johnston, et al. Best Current Practice [Page 96] RFC 5359 SIP Service Examples October 2008

    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F12 180 Ringing B2 -> Proxy
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client2.biloxi.example.com>
    Content-Length: 0
    F13 180 Proxy -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client2.biloxi.example.com>
    Content-Length: 0
    F14 200 OK B2 -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103

Johnston, et al. Best Current Practice [Page 97] RFC 5359 SIP Service Examples October 2008

    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client2.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com
    s=
    c=IN IP4 client2.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F15 200 OK Proxy -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client2.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com
    s=
    c=IN IP4 client2.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F16 ACK Alice -> Proxy
    ACK sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061

Johnston, et al. Best Current Practice [Page 98] RFC 5359 SIP Service Examples October 2008

     ;branch=z9hG4bK74bf3
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F17 ACK Proxy -> B2
    ACK sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK8374.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf3
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* RTP streams are established between Alice and B2.
       Alice hangs up with User B2. */
    F18 BYE Alice -> Proxy
    BYE sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74b3f
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F19 BYE Proxy -> B2
    BYE sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837.1

Johnston, et al. Best Current Practice [Page 99] RFC 5359 SIP Service Examples October 2008

    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74b3f
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F20 200 OK B2 -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK837.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74b3f
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 BYE
    Content-Length: 0
    F21 200 OK Proxy -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74b3f
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq:  2 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 100] RFC 5359 SIP Service Examples October 2008

2.10. 3-Way Conference - Third Party Is Added

          Alice           Bob            Carol
           |    INVITE F1   |              |
           |--------------->|              |
           | 180 Ringing F2 |              |
           |<---------------|              |
           |    200 OK F3   |              |
           |<---------------|              |
           |     ACK F4     |              |
           |--------------->|              |
           |       RTP      |              |
           |<==============>|              |
           |   INVITE F5    |              |
           |<---------------|              |
           |    200 OK F6   |              |
           |--------------->|              |
           |     ACK F7     |              |
           |<---------------|  INVITE F8   |
           |                |------------->|
           |                |    180 F9    |
           |                |<-------------|
           |                |  200 OK F10  |
           |                |<-------------|
           |                |  ACK F11     |
           |                |------------->|
           |                |       RTP    |
           |                |<============>|
 In this scenario, Alice and Bob are in a 2-party call (session) when
 Bob wishes to add Carol into the conversation.  Bob is capable of
 media mixing in a 3-party call.  Bob first sends a re-INVITE to
 Alice, changing Contact URIs to one that indicates Bob's mixer and
 acts like a focus.  As a result, Bob includes the "isfocus" feature
 tag [RFC3840] as described in [RFC4579].  Bob then INVITEs Carol
 using the same Contact URI.  Note that Bob could wait to re-INVITE
 Alice until after Carol has answered.  Bob could also put Alice on
 hold before calling Carol.
 Message Details
    F1 INVITE Alice -> Bob
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9

Johnston, et al. Best Current Practice [Page 101] RFC 5359 SIP Service Examples October 2008

    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 180 Ringing Bob -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:b54gh42f5@biloxi.example.com>
    Content-Length: 0
    F3 200 OK Bob -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:b54gh42f5@biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY

Johnston, et al. Best Current Practice [Page 102] RFC 5359 SIP Service Examples October 2008

    Supported: replaces, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F4 ACK Alice -> Bob
    ACK sips:b54gh42f5@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfL
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* Alice and Bob have established a session.
       Bob re-INVITEs, changing Contact URIs. */
    F5 INVITE Bob -> Alice
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 INVITE
    Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus
    Content-Type: application/sdp
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, gruu
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
    s=

Johnston, et al. Best Current Practice [Page 103] RFC 5359 SIP Service Examples October 2008

    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 49172 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F6 200 OK Alice -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F7 ACK Bob -> Alice
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash3G
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 ACK
    Content-Length: 0
    /* Bob calls Carol. */

Johnston, et al. Best Current Practice [Page 104] RFC 5359 SIP Service Examples October 2008

    F8 INVITE Bob -> Carol
    INVITE sips:carol@chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashJfd
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 INVITE
    Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 48174 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F9 180 Ringing Carol -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashJfd
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=341313
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F10 200 OK Carol -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashJfd
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309

Johnston, et al. Best Current Practice [Page 105] RFC 5359 SIP Service Examples October 2008

    To: Carol <sips:carol@chicago.example.com>;tag=341313
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F11 ACK Bob -> Carol
    ACK sips:carol@client.chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash431
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=341313
    Call-ID: sdjfdjfskdf@biloxi.example.com
    CSeq: 42 ACK
    Content-Length: 0
    /* Bob's mixer now mixes media from both Alice and Carol
       to create the 3-way conference. */

Johnston, et al. Best Current Practice [Page 106] RFC 5359 SIP Service Examples October 2008

2.11. 3-Way Conference - Third Party Joins

          Alice           Bob            Carol
           |    INVITE F1   |              |
           |--------------->|              |
           | 180 Ringing F2 |              |
           |<---------------|              |
           |    200 OK F3   |              |
           |<---------------|              |
           |     ACK F4     |              |
           |--------------->|              |
           |       RTP      |              |
           |<==============>|  INVITE Join:A-B F5
           |                |<-------------|
           |                |    180 F6    |
           |                |------------->|
           |   INVITE F7    |              |
           |<---------------|              |
           |    200 OK F8   |              |
           |--------------->|              |
           |     ACK F9     |              |
           |<---------------|              |
           |                |  200 OK F10  |
           |                |------------->|
           |                |  ACK F11     |
           |                |<-------------|
           |                |       RTP    |
           |                |<============>|
 In this scenario, Alice and Bob are in a 2-party call and Carol
 wishes to join, resulting in a 3-party call.  Carol could have
 learned Bob's dialog identifier using some non-SIP means, or possibly
 from a NOTIFY with the dialog package sent by Bob.  Carol sends an
 INVITE to Bob containing a Join header identifying the dialog between
 Alice and Bob.  Bob re-INVITEs Alice to switch to focus mode and
 includes the "isfocus" feature tag [RFC3840] as described in
 [RFC4579].  Bob then accepts the INVITE from Carol, resulting in the
 3-way call.
 Message Details
    F1 INVITE Alice -> Bob
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9

Johnston, et al. Best Current Practice [Page 107] RFC 5359 SIP Service Examples October 2008

    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 180 Ringing Bob -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:b54gh42f5@biloxi.example.com>
    Content-Length: 0
    F3 200 OK Bob -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:b54gh42f5@biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY

Johnston, et al. Best Current Practice [Page 108] RFC 5359 SIP Service Examples October 2008

    Supported: replaces, join, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F4 ACK Alice -> Bob
    ACK sips:b54gh42f5@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf6
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=23431
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* Alice and Bob have established a session.
       Carol requests to join the session. */
    F5 INVITE Carol -> Bob
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS chicago.example.com:5061
     ;branch=z9hG4bKnashds7
    Max-Forwards: 70
    From: Carol <sips:carol@chicago.example.com>;tag=8675309
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 452k499sk@chicago.example.com
    CSeq: 99 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, join
    Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 109] RFC 5359 SIP Service Examples October 2008

    v=0
    o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F6 180 Ringing Bob -> Carol
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS chicago.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=120.
    From: Carol <sips:carol@chicago.example.com>;tag=8675309
    To: Bob <sips:bob@biloxi.example.com>;tag=0982
    Call-ID: 452k499sk@chicago.example.com
    CSeq: 99 INVITE
    Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Length: 0
    F7 INVITE Bob -> Alice
    INVITE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashdyKL
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 INVITE
    Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus
    Content-Type: application/sdp
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, join, gruu
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 49172 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 110] RFC 5359 SIP Service Examples October 2008

    F8 200 OK Alice -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashdyKL
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F9 ACK Bob -> Alice
    ACK sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnash3g
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=23431
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1024 ACK
    Content-Length: 0
    F10 200 OK Bob -> Carol
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS chicago.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=120.
    From: Carol <sips:carol@chicago.example.com>;tag=8675309
    To: Bob <sips:bob@biloxi.example.com>;tag=0982
    Call-ID: 452k499sk@chicago.example.com
    CSeq: 99 INVITE
    Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus

Johnston, et al. Best Current Practice [Page 111] RFC 5359 SIP Service Examples October 2008

    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, join, gruu
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 48174 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F11 ACK OK Carol -> Bob
    ACK sips:bob-Mixer@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS chicago.example.com:5061
     ;branch=z9hG4bKnash4Gf
    Max-Forwards: 70
    From: Carol <sips:carol@chicago.example.com>;tag=8675309
    To: Bob <sips:bob@biloxi.example.com>;tag=0982
    Call-ID: 452k499sk@chicago.example.com
    CSeq: 99 ACK
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces, join
    Content-Length:0

Johnston, et al. Best Current Practice [Page 112] RFC 5359 SIP Service Examples October 2008

2.12. Find-Me

           Alice           Proxy           User   User   User   User
                                            B1     B2     B3     B4
           |                |              |      |      |      |
           |    INVITE F1   |              |      |      |      |
           |--------------->|   INVITE F2  |      |      |      |
           |                |------------->|      |      |      |
           |(100 Trying) F3 |              |      |      |      |
           |<---------------|180 Ringing F4|      |      |      |
           |                |<-------------|      |      |      |
           | 180 Ringing F5 |              |      |      |      |
           |<---------------|              |      |      |      |
           |                |    Timeout   |      |      |      |
           |                |              |      |      |      |
           |                |   CANCEL F6  |      |      |      |
           |                |------------->|      |      |      |
           |                |   200 OK F7  |      |      |      |
           |                |<-------------|      |      |      |
           |                |     487 F8   |      |      |      |
           |                |<-------------|      |      |      |
           |                |     ACK F9   |      |      |      |
           |                |------------->|      |      |      |
           |                |     INVITE F10      |      |      |
           |                |-------------------->|      |      |
           |                |480 Not Logged In F11|      |      |
           |                |<--------------------|      |      |
           |                |              ACK F12|      |      |
           |                |-------------------->|      |      |
           |                |          INVITE F13        |      |
           |                |--------------------------->|      |
           |                |      486 Busy Here F14     |      |
           |                |<---------------------------|      |
           |                |            ACK F15         |      |
           |                |--------------------------->|      |
           |                |              INVITE F16           |
           |                |---------------------------------->|
           |                |            180 Ringing F17        |
           |     180 F18    |<----------------------------------|
           |<---------------|               200 OK F19          |
           |   200 OK F20   |<----------------------------------|
           |<---------------|                                   |
           |     ACK F21    |                                   |
           |--------------->|                 ACK F22           |
           |                |---------------------------------->|
           |               Both way RTP Established             |
           |<==================================================>|

Johnston, et al. Best Current Practice [Page 113] RFC 5359 SIP Service Examples October 2008

           |                |                  BYE F23          |
           |     BYE F24    |<----------------------------------|
           |<---------------|                                   |
           |    200 OK F25  |                                   |
           |--------------->|                 200 OK F26        |
           |                |---------------------------------->|
           |                |                                   |
 Alice's call to Bob will result in an attempt to locate Bob by
 calling locations from a list of contacts.  The location to answer
 the call becomes the active set; no other sets may join the call.
 While this flow shows a sequential search, the search could be
 accomplished using parallel forking.
 Message Details
    F1 INVITE Alice -> Proxy
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t= 0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F2 INVITE Proxy -> B1
    INVITE sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103

Johnston, et al. Best Current Practice [Page 114] RFC 5359 SIP Service Examples October 2008

    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t= 0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F3 (100 Trying) Proxy -> Alice
    SIP/2.0 100 Trying
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F4 180 Ringing B1 -> Proxy
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 115] RFC 5359 SIP Service Examples October 2008

    F5 180 Ringing Proxy -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Content-Length: 0
    /* B1 rings until a configurable timer in the proxy
       expires.  The proxy then sends Cancel and proceeds down
       the list of routes. */
    F6 CANCEL Proxy -> B1
    CANCEL sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 CANCEL
    Content-Length: 0
    F7 200 OK B1 -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 CANCEL
    Content-Length: 0
    F8 487 Request Terminated B1 -> Proxy
    SIP/2.0 487 Request Terminated

Johnston, et al. Best Current Practice [Page 116] RFC 5359 SIP Service Examples October 2008

    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F9 ACK Proxy -> B1
    ACK sips:bob@client.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.1
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=765432
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F10 INVITE Proxy -> B2
    INVITE sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com

Johnston, et al. Best Current Practice [Page 117] RFC 5359 SIP Service Examples October 2008

    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F11 480 Not Logged In B2 -> Proxy
    SIP/2.0 480 Not Logged In
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314756
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F12 ACK Proxy -> B2
    ACK sips:bob@client2.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.2
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314756
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F13 INVITE Proxy -> B3
    INVITE sips:bob@client3.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.3
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE

Johnston, et al. Best Current Practice [Page 118] RFC 5359 SIP Service Examples October 2008

    Contact: <sips:alice@client.atlanta.example.com>
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F14 486 Busy Here B3 -> Proxy
    SIP/2.0 486 Busy Here
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.3
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Content-Length: 0
    F15 ACK Proxy -> B3
    ACK sips:bob@client3.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.3
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7654321
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F16 INVITE Proxy -> B4
    INVITE sips:bob@client4.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.4
    Via: SIP/2.0/TLS client.atlanta.example.com:5061

Johnston, et al. Best Current Practice [Page 119] RFC 5359 SIP Service Examples October 2008

     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F17 180 Ringing B4 -> Proxy
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.4
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7137136
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client4.biloxi.example.com>
    Content-Length: 0
    F18 180 Ringing Proxy -> Alice
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7137136

Johnston, et al. Best Current Practice [Page 120] RFC 5359 SIP Service Examples October 2008

    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client4.biloxi.example.com>
    Content-Length: 0
    F19 200 OK B4 -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83749.4
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7137136
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client4.biloxi.example.com>
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com
    s=
    c=IN IP4 client4.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F20 200 OK Proxy -> Alice
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    Record-Route: <sips:ss1.example.com;lr>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7137136
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client4.biloxi.example.com>
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 121] RFC 5359 SIP Service Examples October 2008

    v=0
    o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com
    s=
    c=IN IP4 client4.biloxi.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F21 ACK Alice -> Proxy
    ACK sips:bob@client4.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf
    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7137136
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    F22 ACK Proxy -> B4
    ACK sips:bob@client4.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK8374
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf
     ;received=192.0.2.103
    Max-Forwards: 69
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7137136
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* RTP streams are established between Alice and B4. */
    /* User B4 hangs up with Alice. */
    F23 BYE B4 -> Proxy
    BYE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS client4.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7

Johnston, et al. Best Current Practice [Page 122] RFC 5359 SIP Service Examples October 2008

    Route: <sips:ss1.example.com;lr>
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=7137136
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 BYE
    Content-Length: 0
    F24 BYE Proxy -> Alice
    BYE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83754
    Via: SIP/2.0/TLS client4.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    Max-Forwards: 69
    From: Bob <sips:bob@biloxi.example.com>;tag=7137136
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 BYE
    Content-Length: 0
    F25 200 OK Alice -> Proxy
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS ss1.example.com:5061
     ;branch=z9hG4bK83754
     ;received=192.0.2.54
    Via: SIP/2.0/TLS client4.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    From: Bob <sips:bob@biloxi.example.com>;tag=7137136
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 BYE
    Content-Length: 0
    F26 200 OK Proxy -> B4
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client4.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.105
    From: Bob <sips:bob@biloxi.example.com>;tag=7137136

Johnston, et al. Best Current Practice [Page 123] RFC 5359 SIP Service Examples October 2008

    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 124] RFC 5359 SIP Service Examples October 2008

2.13. Call Management (Incoming Call Screening)

                                                    Announcement
         Alice           Proxy            Bob           Server
           |                |              |              |
           |    INVITE F1   |              |              |
           |------------------------------>|              |
           | 305 Use Proxy F2              |              |
           |<------------------------------|              |
           |     ACK F3     |              |              |
           |------------------------------>|              |
           |    INVITE F4   |              |              |
           |--------------->|              |              |
           | 407 Proxy Authentication F5   |              |
           |<---------------|              |              |
           |     ACK F6     |              |              |
           |--------------->|              |              |
           |    INVITE F7   |              |              |
           |--------------->|              |              |
           | 403 Screening Failure (Terminating) Error-Info: URI F8
           |<---------------|              |              |
           |     ACK F9     |              |              |
           |--------------->|              |              |
           |    INVITE F10  |              |              |
           |--------------------------------------------->|
           |    200 OK F11  |              |              |
           |--------------------------------------------->|
           |     ACK F12    |                             |
           |--------------------------------------------->|
           |          Announcement Played to Caller       |
           |<=============================================|
           |                                    BYE F13   |
           |<---------------------------------------------|
           |     200 OK F14                               |
           |--------------------------------------------->|
           |                                              |
           |                                              |
           |                                              |
 Bob has an incoming call screening list; Alice is included on the
 list of addresses from which Bob will not accept calls.  Alice
 attempts to call Bob.  Messages F1, F2, and F3 are included to show
 that Bob does not accept INVITEs that have not been screened by the
 proxy.
 Note that call screening cannot be done using the From header --
 instead some form of authentication credentials must be used.

Johnston, et al. Best Current Practice [Page 125] RFC 5359 SIP Service Examples October 2008

 The screening proxy inserts an announcement URI in an Error-Info
 header field, which Alice accesses by sending an INVITE to listen to
 the Announcement.  The Announcement Server uses the automaton and
 rendering feature tags in F12 and F13 to indicate that it is a media
 server only capable of playing announcements.
 Message Details
    F1 INVITE Alice -> Bob
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    /* Bob only accepts INVITEs that have been screened
       by the proxy. */
    F2 305 Use Proxy Bob -> Alice
    SIP/2.0 305 Use Proxy
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=342123
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:ss1.example.com>
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 126] RFC 5359 SIP Service Examples October 2008

    F3 ACK Alice -> Bob
    ACK sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=342123
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* A retries the call through the proxy. */
    F4 INVITE Alice -> Proxy 1
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf0
    Max-Forwards: 70
    Route: <sips:ss1.example.com>
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    /* Proxy 1 challenges Alice for authentication. */
    F5 407 Proxy Authentication Required Proxy 1 -> Alice
    SIP/2.0 407 Proxy Authentication Required
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf0
     ;received=192.0.2.103

Johnston, et al. Best Current Practice [Page 127] RFC 5359 SIP Service Examples October 2008

    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7886765
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 INVITE
    Proxy-Authenticate: Digest realm="example.com",
       nonce="ea9c8e88df84f1cec4341ae6cbe5a359",
       qop="auth", nc=00000001, cnonce="0a4f113b",
       opaque="", stale=FALSE, algorithm=MD5
    Content-Length: 0
    F6 ACK Alice -> Proxy 1
    ACK sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf0
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=7886765
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 ACK
    Content-Length: 0
    /* Alice responds by sending an INVITE with authentication
       credentials in it. */
    F7 INVITE Alice -> Proxy 1
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf2
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 3 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Proxy-Authorization: Digest username="alice",
       realm="example.com", qop=auth,
       nc=00000001, cnonce="4gr84543ft2",
       nonce="ae9137be1c87d175c2dd63302a0d6e0a",
       opaque="", uri="sips:bob@biloxi.example.com",
       response="bbaec39f943bdcb3620d90afc548a45c"
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...

Johnston, et al. Best Current Practice [Page 128] RFC 5359 SIP Service Examples October 2008

    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F8 403 Screening Failure (Terminating) Proxy 1 -> Alice
    SIP/2.0 403 Screening Failure (Terminating)
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf2
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=ffe254
    Call-ID: 12345600@atlanta.example.com
    CSeq: 3 INVITE
    Error-Info: <sips:screen-fail-term-ann@ms.biloxi.example.com>
    Content-Length: 0
    F9 ACK Alice -> Proxy 1
    ACK sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf2
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=ffe254
    Call-ID: 12345600@atlanta.example.com
    Proxy-Authorization: Digest username="alice",
     realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a",
     opaque="", uri="sips:bob@biloxi.example.com",
     response="bbaec39f943bdcb3620d90afc548a45c"
    CSeq: 3 ACK
    Content-Length: 0
    /* To hear the recording, Alice connects to the Error-Info URI. */
    F10 INVITE Alice -> Proxy 1
    INVITE sips:screen-fail-term-ann@ms.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfj
    Max-Forwards: 70

Johnston, et al. Best Current Practice [Page 129] RFC 5359 SIP Service Examples October 2008

    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 4 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
 F11 200 OK Announcement Server -> Proxy 1
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bfj
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=234934
    Call-ID: 12345600@atlanta.example.com
    CSeq: 4 INVITE
    Contact: <sips:ms.biloxi.example.com>
     ;automaton;+sip.rendering="no"
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=annc 2890844543 2890844543 IN IP4 announce.biloxi.example.com
    s=
    c=IN IP4 announce.biloxi.example.com
    t=0 0
    m=audio 49174 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
 F12 ACK Alice -> Announcement Server
    ACK sips:ms.biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74b32

Johnston, et al. Best Current Practice [Page 130] RFC 5359 SIP Service Examples October 2008

    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=234934
    Call-ID: 12345600@atlanta.example.com
    CSeq: 4 ACK
    Content-Length: 0
    /* Announcement Server plays announcement then disconnects. */
    F13 BYE Announcement Server -> Alice
    BYE sips:alice@client.atlanta.example.com SIP/2.0
    Via: SIP/2.0/TLS announcement.example.com:5061
     ;branch=z9hG4bK74bKS
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=234934
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2334 BYE
    Content-Length: 0
    F14 200 OK Alice -> Announcement Server
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS announcement.example.com:5061
     ;branch=z9hG4bK74bKS
     ;received=192.0.2.103
    From: Bob <sips:bob@biloxi.example.com>;tag=234934
    To: Alice <sips:alice@atlanta.example.com>;tag=1234567
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2334 BYE
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 131] RFC 5359 SIP Service Examples October 2008

2.14. Call Management (Outgoing Call Screening)

         Alice            Proxy           Bob
           |                |              |
           |    INVITE F1   |              |
           |--------------->|              |
           | 407 Proxy Authentication F2   |
           |<---------------|              |
           |     ACK F3     |              |
           |--------------->|              |
           |    INVITE F4   |              |
           |--------------->|              |
           | 403 Screening Failure (Originating) F5
           |<---------------|              |
           |     ACK F6     |              |
           |--------------->|              |
           |                |              |
 Alice has an outgoing call screening list; Bob is included on the
 list of addresses to which Alice will not be able to place a call.
 Alice attempts to call Bob.
 Alice could establish a session to listen to the announcement in the
 Error-Info header field.
 Message Details
    F1 INVITE Alice -> Proxy 1
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0

Johnston, et al. Best Current Practice [Page 132] RFC 5359 SIP Service Examples October 2008

    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    /* Proxy 1 challenges Alice for authentication. */
    F2 407 Proxy Authentication Required Proxy 1 -> Alice
    SIP/2.0 407 Proxy Authentication Required
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=90210
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 INVITE
    Proxy-Authenticate: Digest realm="example.com",
     nonce="ea9c8e88df84f1cec4341ae6cbe5a359",
     qop="auth", nc=00000001, cnonce="0a4f113b",
     opaque="", stale=FALSE, algorithm=MD5
    Content-Length: 0
    F3 ACK Alice -> Proxy 1
    ACK sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74bf9
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=90210
    Call-ID: 12345600@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* Alice responds be sending an INVITE with authentication
       credentials in it. */
    F4 INVITE Alice -> Proxy 1
    INVITE sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74b4
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>
    Call-ID: 12345600@atlanta.example.com

Johnston, et al. Best Current Practice [Page 133] RFC 5359 SIP Service Examples October 2008

    CSeq: 2 INVITE
    Contact: <sips:alice@client.atlanta.example.com>
    Proxy-Authorization: Digest username="alice", realm="example.com",
     nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="",
     uri="sips:bob@biloxi.example.com",
     response="b9d2e5bcdec9f69ab2a9b44f270285a6"
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
    s=
    c=IN IP4 client.atlanta.example.com
    t=0 0
    m=audio 49170 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F5 403 Screening Failure (Originating) Proxy 1 -> Alice
    SIP/2.0 403 Screening Failure (Originating)
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74b4
     ;received=192.0.2.103
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=18017
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 INVITE
    Error-Info: <sips:screen-fail-orig-ann@announcement.example.com>
    Content-Length: 0
    F6 ACK Alice -> Proxy 1
    ACK sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS client.atlanta.example.com:5061
     ;branch=z9hG4bK74b4
    Max-Forwards: 70
    From: Alice <sips:alice@atlanta.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=18017
    Call-ID: 12345600@atlanta.example.com
    CSeq: 2 ACK
    Proxy-Authorization: Digest username="alice", realm="example.com",
     nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="",
     uri="sips:bob@biloxi.example.com",
     response="b9d2e5bcdec9f69ab2a9b44f270285a6"
    Content-Length: 0

Johnston, et al. Best Current Practice [Page 134] RFC 5359 SIP Service Examples October 2008

2.15. Call Park

         Alice           Bob        Park Server       Carol
           |              |              |              |
           |   INVITE F1  |              |              |
           |------------->|              |              |
           |180 Ringing F2|              |              |
           |<-------------|              |              |
           |  200 OK F3   |              |              |
           |<-------------|              |              |
           |    ACK F4    |              |              |
           |------------->|              |              |
           |  RTP Media   |              |              |
           |<============>|              |              |
           |      Bob Parks Call         |              |
           |              |   REFER Refer-To: A F5      |
           |              |------------->|              |
           |              |    202 F6    |              |
           |              |<-------------|              |
           |              |   NOTIFY F7  |              |
           |              |<-------------|              |
           |              |    200 F8    |              |
           |              |------------->|              |
           |  INVITE F9 Replaces: B      |              |
           |<----------------------------|              |
           |          200 OK F10         |              |
           |---------------------------->|              |
           |           ACK F11           |              |
           |<----------------------------|              |
           |           RTP Music         |              |
           |<===========================>|              |
           |     BYE F12  |              |              |
           |------------->|  NOTIFY F14  |              |
           |  200 OK F13  |<-------------|              |
           |<-------------|  200 OK F15  |              |
           |              |------------->|              |
           |              |   Carol picks up the call   |
           |              |              |              |
           |              |              | SUBSCRIBE F16|
           |              |              |<-------------|
           |              |              |  200 OK F17  |
           |              |              |------------->|
           |              |              |  NOTIFY F18  |
           |              |              |------------->|
           |              |              |  200 OK F19  |
           |              |              |<-------------|
           |           INVITE Replaces: Park Server F20 |
           |<-------------------------------------------|

Johnston, et al. Best Current Practice [Page 135] RFC 5359 SIP Service Examples October 2008

           |              |              |   200 F21    |
           |------------------------------------------->|
           |              |              |    ACK F22   |
           |<-------------------------------------------|
           |                  RTP Media                 |
           |<==========================================>|
           |           BYE F23           |              |
           |---------------------------->|              |
           |          200 OK F24         |              |
           |<----------------------------|              |
           |       No more RTP Music     |              |
 In this example, Alice calls Bob.  Bob then parks the call at the
 Park Server by sending a REFER to the Park Server.  The server sends
 an INVITE to Alice, which replaces the session between Alice and Bob.
 The Park Server utilizes the automaton, rendering, and byeless
 feature tags in F9 to indicate its capabilities to Alice.  The call
 is accepted by Alice and causes Alice to send a BYE to Bob.  Bob
 receives notification of the successful park, and also receives the
 dialog identifiers in the application/sip body of the NOTIFY
 response.
 Carol wishes to retrieve the call, so she sends an INVITE containing
 the dialog identifiers to Alice, which replaces the session with the
 Park Server.  Alice accepts the call and sends a BYE to the Park
 Server.  Carol obtains the dialog identifiers from a NOTIFY from the
 Park Server.
 Note that this call flow is a special case of call transfer.
 Note also that this flow could also be used for Music on Hold.
 Message Details
 F1 INVITE Alice -> Bob
 INVITE sips:bob@biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.alice.example.com:5061
  ;branch=z9hG4bKnashds7
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>
 Call-ID: 12345601@atlanta.example.com
 CSeq: 1 INVITE
 Contact: <sips:a8342043f@atlanta.example.com;gr>
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces, gruu
 Content-Type: application/sdp

Johnston, et al. Best Current Practice [Page 136] RFC 5359 SIP Service Examples October 2008

 Content-Length: ...
 v=0
 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
 s=
 c=IN IP4 client.atlanta.example.com
 t=0 0
 m=audio 49170 RTP/AVP 0
 a=rtpmap:0 PCMU/8000
 F2 180 Ringing Bob -> Alice
 SIP/2.0 180 Ringing
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bKnashds7
  ;received=192.0.2.105
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>;tag=314159
 Call-ID: 12345601@atlanta.example.com
 CSeq: 1 INVITE
 Contact: <sips:bob@client.biloxi.example.com>
 Content-Length: 0
 F3 200 OK Bob -> Alice
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bKnashds7
  ;received=192.0.2.105
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>;tag=314159
 Call-ID: 12345601@atlanta.example.com
 CSeq: 1 INVITE
 Contact: <sips:bob@client.biloxi.example.com>
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces
 Content-Type: application/sdp
 Content-Length: ...
 v=0
 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
 s=
 c=IN IP4 client.biloxi.example.com
 t=0 0
 m=audio 3456 RTP/AVP 0
 a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 137] RFC 5359 SIP Service Examples October 2008

 F4 ACK Alice -> Bob
 ACK sips:bob@client.biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bKnashds7
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>;tag=314159
 Call-ID: 12345601@atlanta.example.com
 CSeq: 1 ACK
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces
 Content-Length: 0
 /* Bob REFERs Park Server to establish session with Alice,
    which replaces the established session between Alice and Bob.
    Note that there is no session established between Bob
    and the Park Server. */
 F5 REFER Bob -> Park Server
 REFER sips:park@server.example.com SIP/2.0
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bKnashds9
 Max-Forwards: 70
 From: Bob <sips:bob@biloxi.example.com>;tag=02134
 To: Park Server <sips:park@server.example.com>
 Call-ID: 4802029847@biloxi.example.com
 CSeq: 1 REFER

<allOneLine>

 Refer-To: <sips:a8342043f@atlanta.example.com;gr?Replaces=
 12345601%40atlanta.example.com%3Bfrom-tag%3D314159
 %3Bto-tag%3D1234567&Require=replaces>

</allOneLine>

 Referred-By: <sips:bob@biloxi.example.com>
 Contact: <sips:bob@client.biloxi.example.com>
 Content-Length: 0
 F6 202 Accepted Park Server -> Bob
 SIP/2.0 202 Accepted
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bKnashds9
  ;received=192.0.2.105
 From: Bob <sips:bob@biloxi.example.com>;tag=02134
 To: Park Server <sips:park@server.example.com>;tag=56323

Johnston, et al. Best Current Practice [Page 138] RFC 5359 SIP Service Examples October 2008

 Call-ID: 4802029847@biloxi.example.com
 Contact: <sips:park@server.example.com>
 CSeq: 1 REFER
 Content-Length: 0
 F7 NOTIFY Park Server -> Bob
 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74bT6
 To: Bob <sips:bob@biloxi.example.com>;tag=02134
 Max-Forwards: 70
 From: Park Server <sips:park@server.example.com>;tag=56323
 Call-ID: 4802029847@biloxi.example.com
 CSeq: 1 NOTIFY
 Event: refer
 Contact: <sips:park@server.example.com>
 Subscription-State: active;expires=60
 Content-Type: message/sipfrag
 Content-Length: ...
 SIP/2.0 100 Trying
 F8 200 OK Bob -> Park Server
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74bT6
  ;received=192.0.2.103
 To: Bob <sips:bob@biloxi.example.com>;tag=02134
 From: Park Server <sips:park@server.example.com>;tag=56323
 Call-ID: 4802029847@biloxi.example.com
 CSeq: 1 NOTIFY
 Content-Length: 0
 /* Park Server places call to Alice to replace session
    between Alice and Bob. */
 F9 INVITE Park Server -> Alice
 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74rf
 Max-Forwards: 70
 From: <sips:park@server.example.com>;tag=0111

Johnston, et al. Best Current Practice [Page 139] RFC 5359 SIP Service Examples October 2008

 To: <sips:a8342043f@atlanta.example.com;gr>
 Call-ID: a5-75-34-12-76@server.example.com
 CSeq: 1 INVITE
 Referred-By: <sips:bob@biloxi.example.com>
 Contact: <sips:park@server.example.com>;automaton
     ;+sip.byeless;+sip.rendering="no"
 Require: replaces
 Replaces: 12345601@atlanta.example.com
  ;from-tag=314159;to-tag=1234567
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces
 Content-Type: application/sdp
 Content-Length: ...
 v=0
 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.example.com
 s=
 c=IN IP4 server.example.com
 t=0 0
 m=audio 49170 RTP/AVP 0
 a=rtpmap:0 PCMU/8000
 F10 200 OK Alice -> Park Server
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74rf
  ;received=192.0.2.103
 From: <sips:park@server.example.com>;tag=0111
 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594
 Call-ID: a5-75-34-12-76@server.example.com
 CSeq: 1 INVITE
 Contact: <sips:a8342043f@atlanta.example.com;gr>
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces, gruu
 Content-Type: application/sdp
 Content-Length: ...
 v=0
 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
 s=
 c=IN IP4 client.atlanta.example.com
 t=0 0
 m=audio 49170 RTP/AVP 0
 a=rtpmap:0 PCMU/8000
 a=recvonly

Johnston, et al. Best Current Practice [Page 140] RFC 5359 SIP Service Examples October 2008

 F11 ACK Park Server -> Alice
 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK7rfF
 Max-Forwards: 70
 From: <sips:park@server.example.com>;tag=0111
 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594
 Call-ID: a5-75-34-12-76@server.example.com
 CSeq: 1 ACK
 Content-Length: 0
 F12 BYE Alice -> Bob
 BYE sips:bob@client.biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bKnashds7
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>;tag=314159
 Call-ID: 12345601@atlanta.example.com
 CSeq: 2 BYE
 Content-Length: 0
 F13 200 OK Bob -> Alice
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bKnashds7
  ;received=192.0.2.105
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>;tag=314159
 Call-ID: 12345601@atlanta.example.com
 CSeq: 2 BYE
 Content-Length: 0
 /* Park Server reports success back to Bob by returning
    a 200 OK response.  Bob obtains the dialog identifiers
    from the headers included in the response. */
 F14 NOTIFY Park Server -> Bob
 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74bf9

Johnston, et al. Best Current Practice [Page 141] RFC 5359 SIP Service Examples October 2008

 To: Bob <sips:bob@biloxi.example.com>;tag=02134
 Max-Forwards: 70
 From: Park Server <sips:park@server.example.com>;tag=56323
 Call-ID: 4802029847@biloxi.example.com
 CSeq: 2 NOTIFY
 Event: refer
 Subscription-State: terminated;reason=noresource
 Contact: <sips:park@server.example.com>;automaton
     ;+sip.byeless;+sip.rendering="no"
 Content-Type: message/sipfrag
 Content-Length: ...
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74rf
  ;received=192.0.2.103
 From: <sips:park@server.example.com>;tag=0111
 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594
 Call-ID: a5-75-34-12-76@server.example.com
 CSeq: 1 INVITE
 Contact: <sips:a8342043f@atlanta.example.com;gr>
 F15 200 OK Bob -> Park Server
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74bf9
  ;received=192.0.2.103
 To: Bob <sips:bob@biloxi.example.com>;tag=02134
 From: Park Server <sips:park@server.example.com>;tag=56323
 Call-ID: 4802029847@biloxi.example.com
 CSeq: 2 NOTIFY
 Content-Length: 0
 /* Alice is now parked at the Park Server. */
 /* Carol picks up the call by sending an INVITE to A, which
    replaces the existing session with the Park Server.
    Carol needs to know the dialog information to construct
    the Replaces header. */
 F16 SUBSCRIBE  Carol -> Park Server
 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.chicago.example.com:5061
  ;branch=z9hG4bK74b232

Johnston, et al. Best Current Practice [Page 142] RFC 5359 SIP Service Examples October 2008

 Max-Forwards: 70
 From: Carol <sips:carol@chicago.example.com>;tag=158x93461
 To: <sips:park@server.example.com>
 Call-ID: 2d6485356dfaj34dsf
 CSeq: 1 SUBSCRIBE
 Contact: <sips:carol@client.chicago.example.com>
 Event: dialog
 Expires: 0
 Accept: application/dialog-info+xml
 Content-Length: 0
 F17 200 OK Park Server -> Carol
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.chicago.example.com:5061
  ;branch=z9hG4bK74b232
  ;received=192.0.2.105
 From: Carol <sips:carol@chicago.example.com>;tag=158x93461
 To: <sips:park@server.example.com>;tag=3213j
 Call-ID: 2d6485356dfaj34dsf
 CSeq: 1 SUBSCRIBE
 Contact: <sips:park@server.example.com>;automaton
     ;+sip.byeless;+sip.rendering="no"
 Content-Length: 0
 F18 NOTIFY  Park Server -> Carol
 NOTIFY sips:carol@client.example.com SIP/2.0
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74b8skd
 Max-Forwards: 70
 To: Carol <sips:carol@chicago.example.com>;tag=158x93461
 From: <sips:park@server.example.com>;tag=3213j
 Call-ID: 2d6485356dfaj34dsf
 CSeq: 1 NOTIFY
 Contact: <sips:park@server.example.com>;automaton
     ;+sip.byeless;+sip.rendering="no"
 Event: dialog
 Subscription-State: terminated;reason=timeout
 Content-Type: application/dialog-info+xml
 Content-Length: ...
 <?xml version="1.0"?>
 <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
       version="0" state="full" entity="sips:park@server.example.com">
    <dialog id="439920143524"
       call-id="a5-75-34-12-76@server.example.com"

Johnston, et al. Best Current Practice [Page 143] RFC 5359 SIP Service Examples October 2008

       local-tag="0111" remote-tag="098594" direction="initiator">
      <duration>1</duration>
      <local>
         <target>sips:park@server.example.com</target>
      </local>
      <remote>
        <target>sips:a8342043f@atlanta.example.com;gr</target>
      </remote>
      <state>confirmed</state>
    </dialog>
  </dialog-info>
 F19 200 OK Carol -> Park Server
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS server.example.com:5061
  ;branch=z9hG4bK74b8skd
  ;received=192.0.2.103
 To: Carol <sips:carol@chicago.example.com>;tag=158x93461
 From: <sips:park@server.example.com>;tag=3213j
 Call-ID: 2d6485356dfaj34dsf
 CSeq: 1 NOTIFY
 Contact: <sips:carol@client.chicago.example.com>
 Content-Length: 0
 F20 INVITE Carol -> Alice
 INVITE sips:alice@atlanta.example.com SIP/2.0
 Via: SIP/2.0/TLS client.chicago.example.com:5061
  ;branch=z9hG4bK74bQ2
 Max-Forwards: 70
 From: Carol <sips:carol@chicago.example.com>;tag=5893461
 To: Alice <sips:alice@atlanta.example.com>
 Call-ID: 6485356@chicago.example.com
 CSeq: 1 INVITE
 Contact: <sips:carol@client.chicago.example.com>
 Require: replaces
 Replaces: a5-75-34-12-76@server.example.com
  ;to-tag=098594;from-tag=0111
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
  SUBSCRIBE, NOTIFY
 Supported: replaces
 Content-Type: application/sdp
 Content-Length: ...
 v=0

Johnston, et al. Best Current Practice [Page 144] RFC 5359 SIP Service Examples October 2008

 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com
 s=
 c=IN IP4 client.chicago.example.com
 t=0 0
 m=audio 3456 RTP/AVP 0
 a=rtpmap:0 PCMU/8000
 F21 200 OK Alice -> Carol
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.chicago.example.com:5061
  ;branch=z9hG4bK74bQ2
  ;received=192.0.2.105
 From: Carol <sips:carol@chicago.example.com>;tag=5893461
 To: Alice <sips:alice@atlanta.example.com>;tag=222
 Call-ID: 6485356@chicago.example.com
 CSeq: 1 INVITE
 Contact: <sips:a8342043f@atlanta.example.com;gr>
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces, gruu
 Content-Type: application/sdp
 Content-Length: ...
 v=0
 o=alice 2890844527 2890844527 IN IP4 client.atlanta.example.com
 s=
 c=IN IP4 client.atlanta.example.com
 t=0 0
 m=audio 49170 RTP/AVP 0
 a=rtpmap:0 PCMU/8000
 F22 ACK Carol -> Alice
 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0
 Via: SIP/2.0/TLS client.chicago.example.com:5061
  ;branch=z9hG4bK74bJ0
 Max-Forwards: 70
 From: Carol <sips:carol@chicago.example.com>;tag=5893461
 To: Alice <sips:alice@atlanta.example.com>;tag=222
 Call-ID: 6485356@chicago.example.com
 CSeq: 1 ACK
 Content-Length: 0
 /* A replaces the session to the Park Server with the new
    session with C and generates a BYE to disconnect the
    Park Server. */

Johnston, et al. Best Current Practice [Page 145] RFC 5359 SIP Service Examples October 2008

 F23 BYE Alice -> Park Server
 BYE sips:park@server.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74b4N
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=098594
 To: <sips:park@server.example.com>;tag=0111
 Call-ID: a5-75-34-12-76@server.example.com
 CSeq: 1 BYE
 Content-Length: 0
 F24 200 OK Park Server -> Alice
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74b4N
  ;received=192.0.2.103
 From: Alice <sips:alice@atlanta.example.com>;tag=098594
 To: <sips:park@server.example.com>;tag=0111
 Call-ID: a5-75-34-12-76@server.example.com
 CSeq: 1 BYE
 Content-Length: 0

Johnston, et al. Best Current Practice [Page 146] RFC 5359 SIP Service Examples October 2008

2.16. Call Pickup

          Alice          Bob                Bill
           |              |                   |
           |   INVITE F1  |                   |
           |------------->|                   |
           |180 Ringing F2|                   |
           |<-------------|                   |
           |              |   SUBSCRIBE F3    |
           |              |<------------------|
           |              |     200 OK F4     |
           |              |------------------>|
           |              |     NOTIFY F5     |
           |              |------------------>|
           |              |     200 OK F6     |
           |              |<------------------|
           |          INVITE Replaces:Bob  F7 |
           |<---------------------------------|
           |              |     200 OK F8     |
           |--------------------------------->|
           |   CANCEL F9  |                   |
           |------------->|                   |
           |  200 OK F10  |                   |
           |<-------------|                   |
           |    487 F11   |                   |
           |<-------------|                   |
           |    ACK F12   |                   |
           |------------->|                   |
           |                    ACK F13       |
           |<---------------------------------|
           |                                  |
           |    Two-Way RTP Established       |
           |<================================>|
           |                     BYE F14      |
           |--------------------------------->|
           |                   200 OK F15     |
           |<---------------------------------|
           |                                  |
 Bob and Bill are part of a work group at example.com that can pick up
 each other's calls.  Alice calls Bob, who does not answer.  Bill
 wishes to pick up the call and sends a SUBSCRIBE to Bob to retrieve
 the dialog information.  Bill then generates an INVITE with a
 Replaces to Alice.  Alice answers the INVITE and sends a CANCEL to
 stop Bob's phone ringing.  Note that the relative order of the
 487/ACK sequence (F11/F12) and the 200 OK to the CANCEL (F10) is not
 deterministic.

Johnston, et al. Best Current Practice [Page 147] RFC 5359 SIP Service Examples October 2008

 This call flow shows the use of the "early-only" parameter [RFC3891]
 in the Replaces header field of F7.  This parameter prevents Alice
 from accepting the INVITE if Bob has already accepted the INVITE.  If
 Bill had wished to "take" the call from Bob regardless of whether he
 had answered, the parameter would not have been present in F7.
 Also note that the subscription between Bob and Carol could have been
 established prior to Alice's call.
 Message Details
F1 INVITE Alice -> Bob
INVITE sips:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.atlanta.example.com:5061
 ;branch=z9hG4bK74bf9
Max-Forwards: 70
From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>
Call-ID: 12345600@atlanta.example.com
CSeq: 1 INVITE
Contact: <sips:a8342043f@atlanta.example.com;gr>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, gruu
Content-Type: application/sdp
Content-Length: ...
v=0
o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=
c=IN IP4 client.atlanta.example.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 180 Ringing Bob -> Alice
SIP/2.0 180 Ringing
Via: SIP/2.0/TLS client.atlanta.example.com:5061
 ;branch=z9hG4bK74bf9
 ;received=192.0.2.103
From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>;tag=3145678
Call-ID: 12345600@atlanta.example.com

Johnston, et al. Best Current Practice [Page 148] RFC 5359 SIP Service Examples October 2008

CSeq: 1 INVITE
Contact: <sips:bob@client.biloxi.example.com>
Content-Length: 0
/* Bill decides to pick up the call. */
F3 SUBSCRIBE  Bill -> Bob
SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS pc.biloxi.example.com:5061
 ;branch=z9hG4bK74bf
Max-Forwards: 70
From: Bill <sips:bill@biloxi.example.com>;tag=8675309
To: Bob <sips:bob@biloxi.example.com>
Call-ID: rt4353gs2egg@pc.biloxi.example.com
CSeq: 1 SUBSCRIBE
Contact: <sips:bill@pc.biloxi.example.com>
Event: dialog
Expires: 0
Accept: application/dialog-info+xml
Content-Length: 0
F4 200 OK Bob -> Bill
SIP/2.0 200 OK
Via: SIP/2.0/TLS pc.biloxi.example.com:5061
 ;branch=z9hG4bK74bf
 ;received=192.0.2.114
Max-Forwards: 70
From: Bill <sips:bill@biloxi.example.com>;tag=8675309
To: Bob <sips:bob@biloxi.example.com>;tag=31451098
Call-ID: rt4353gs2egg@pc.biloxi.example.com
CSeq: 1 SUBSCRIBE
Content-Length: 0
F5 NOTIFY  Bob -> Bill
NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.example.com:5061
 ;branch=z9hG4bK74br
Max-Forwards: 70
From: Bob <sips:bob@biloxi.example.com>;tag=31451098
To: Bill <sips:bill@biloxi.example.com>;tag=8675309
Call-ID: rt4353gs2egg@pc.biloxi.example.com
CSeq: 1 NOTIFY

Johnston, et al. Best Current Practice [Page 149] RFC 5359 SIP Service Examples October 2008

Contact: <sips:bob@client.biloxi.example.com>
Event: dialog
Subscription-State: terminated;reason=timeout
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
       version="0" state="full" entity="sips:bob@biloxi.example.com">
   <dialog id="94992014524" call-id="12345600@atlanta.example.com"
       local-tag="3145678" remote-tag="1234567" direction="recipient">
     <duration>1</duration>
     <local>
       <identity display="Bob">sips:bob@biloxi.example.com</identity>
       <target>sips:bob@client.biloxi.example.com</target>
     </local>
     <remote>
       <identity display="Alice">sips:alice@atlanta.example.com
                                                       </identity>
       <target>sips:a8342043@atlanta.example.com;gr</target>
     </remote>
     <state>early</state>
   </dialog>
 </dialog-info>
F6 200 OK  Bill -> Bob
SIP/2.0 200 OK
Via: SIP/2.0/TLS client.biloxi.example.com:5061
 ;branch=z9hG4bK74br
 ;received=192.0.2.105
From: Bob <sips:bob@biloxi.example.com>;tag=31451098
To: Bill <sips:bill@biloxi.example.com>;tag=8675309
Call-ID: rt4353gs2egg@pc.biloxi.example.com
CSeq: 1 NOTIFY
Contact: <sips:bill@pc.biloxi.example.com>
Content-Length: 0
F7 INVITE  Bill -> Alice
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0
Via: SIP/2.0/TLS pc.biloxi.example.com:5061
 ;branch=z9hG4bK74HH
Max-Forwards: 70
From: Bill <sips:bill@biloxi.example.com>;tag=8675310
To: Alice <sips:alice@atlanta.example.com>

Johnston, et al. Best Current Practice [Page 150] RFC 5359 SIP Service Examples October 2008

Call-ID: 563456212@b2.biloxi.example.com
CSeq: 1 INVITE
Require: replaces
Replaces: 12345600@atlanta.example.com
 ;from-tag=314578;to-tag=1234567;early-only
Contact: <sips:bill@pc.biloxi.example.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=bill 2890843122 2890843122 IN IP4 pc.biloxi.example.com
s=
c=IN IP4 pc.biloxi.example.com
t=0 0
m=audio 5342 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* Alice matches the dialog information in the Replaces header
   and accepts the INVITE. */
F8 200 OK  Alice -> Bill
SIP/2.0 200 OK
Via: SIP/2.0/TLS pc.biloxi.example.com:5061
 ;branch=z9hG4bK74HH
 ;received=192.0.2.114
From: Bill <sips:bill@biloxi.example.com>;tag=8675310
To: Alice <sips:alice@atlanta.example.com>;tag=131256
Call-ID: 563456212@b2.biloxi.example.com
CSeq: 1 INVITE
Contact: <sips:a8342043f@atlanta.example.com;gr>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, gruu
Content-Type: application/sdp
Content-Length: ...
v=0
o=alice 289084543 289084543 IN IP4 client.atlanta.example.com
s=
c=IN IP4 client.atlanta.example.com
t=0 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* Alice stops Bob's phone from ringing by sending a CANCEL. */

Johnston, et al. Best Current Practice [Page 151] RFC 5359 SIP Service Examples October 2008

F9 CANCEL Alice -> Bob
CANCEL sips:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.atlanta.example.com:5061
 ;branch=z9hG4bK74bf9
Max-Forwards: 70
From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>
Call-ID: 12345600@atlanta.example.com
CSeq: 1 CANCEL
Content-Length: 0
F10 200 OK Bob -> Alice
SIP/2.0 200 OK
Via: SIP/2.0/TLS client.atlanta.example.com:5061
 ;branch=z9hG4bK74bf9
 ;received=192.0.2.103
From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>;tag=3145678
Call-ID: 12345600@atlanta.example.com
CSeq: 1 CANCEL
Content-Length: 0
F11 487 Request Terminated Bob -> Alice
SIP/2.0 487 Request Terminated
Via: SIP/2.0/TLS client.atlanta.example.com:5061
 ;branch=z9hG4bK74bf9
 ;received=192.0.2.103
From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>;tag=3145678
Call-ID: 12345600@atlanta.example.com
CSeq: 1 INVITE
Content-Length: 0
F12 ACK Alice -> Bob
ACK sips:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.atlanta.example.com:5061
 ;branch=z9hG4bK83749.1
Max-Forwards: 70
From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>;tag=3145678

Johnston, et al. Best Current Practice [Page 152] RFC 5359 SIP Service Examples October 2008

Call-ID: 12345600@atlanta.example.com
CSeq: 1 ACK
Content-Length: 0
F13 ACK  Bill -> Alice
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0
Via: SIP/2.0/TLS pc.biloxi.example.com:5061
 ;branch=z9hG4bK7435
Max-Forwards: 70
From: Bill <sips:bill@biloxi.example.com>;tag=8675310
To: Alice <sips:alice@atlanta.example.com>;tag=131256
Call-ID: 563456212@b2.biloxi.example.com
CSeq: 1 ACK
Content-Length: 0
/* RTP streams are established between Alice and Bill.
   Later, Alice hangs up with Bill. */
F14 BYE Alice -> Bill
BYE sips:bill@pc.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.atlanta.example.com:5061
 ;branch=z9hG4bK74bf2
Max-Forwards: 70
To: Bill <sips:bill@biloxi.example.com>;tag=8675310
From: Alice <sips:alice@atlanta.example.com>;tag=131256
Call-ID: 563456212@b2.biloxi.example.com
CSeq: 1 BYE
Content-Length: 0
F15 200 OK Bill -> Alice
SIP/2.0 200 OK
Via: SIP/2.0/TLS client.atlanta.example.com:5061
 ;branch=z9hG4bK74bf2
 ;received=192.0.2.105
To: Bill <sips:bill@biloxi.example.com>;tag=8675310
From: Alice <sips:alice@atlanta.example.com>;tag=131256
Call-ID: 563456212@b2.biloxi.example.com
CSeq:  1 BYE
Content-Length: 0

Johnston, et al. Best Current Practice [Page 153] RFC 5359 SIP Service Examples October 2008

2.17. Automatic Redial

         Alice             Bob
           |                |
           |    INVITE F1   |
           |--------------->|
           |486 Busy Here F2|
           |<---------------|    Bob is busy
           |     ACK F3     |
           |--------------->|
           |  SUBSCRIBE F4  |
           |--------------->|
           |   200 OK F5    |
           |<---------------|
           |    NOTIFY F6   |
           |<---------------|
           |   200 OK F7    |
           |--------------->|
           |                |
           |    NOTIFY F8   |    Bob is now available
           |<---------------|
           |   200 OK F9    |
           |--------------->|
           |                |
           |   INVITE F10   |
           |--------------->|    Session setup successful
           | 180 Ringing F11|
           |<---------------|
           |   200 OK F12   |
           |<---------------|
           |     ACK F13    |
           |--------------->|
           |  Media Session |
           |<==============>|
           |                |
           |   NOTIFY F14   |
           |<---------------|
           |   200 OK F15   |
           |--------------->|
           |                |
           |  SUBSCRIBE F16 | Alice terminates subscription
           |--------------->|
           |   200 OK F17   |
           |<---------------|
           |   NOTIFY F18   |
           |<---------------|
           |   200 OK F19   |
           |--------------->|
           |                |

Johnston, et al. Best Current Practice [Page 154] RFC 5359 SIP Service Examples October 2008

 Bob is initially busy when Alice calls.  Alice subscribes to Bob's
 call state using a SUBSCRIBE F4.  Bob sends a NOTIFY F8 when Bob is
 available.  Alice is alerted, then Alice sends an INVITE to Bob to
 establish the session.  The subscription is terminated using
 SUBSCRIBE F16.
 Message Details
 F1 INVITE Alice -> Bob
 INVITE sips:bob@biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74bf9
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>
 Call-ID: 12345600@atlanta.example.com
 CSeq: 1 INVITE
 Contact: <sips:alice@client.atlanta.example.com>
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces
 Content-Type: application/sdp
 Content-Length: ...
 v=0
 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
 s=
 c=IN IP4 client.atlanta.example.com
 t=0 0
 m=audio 49170 RTP/AVP 0
 a=rtpmap:0 PCMU/8000
 F2 486 Busy Here
 SIP/2.0 486 Busy Here
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74bf9
  ;received=192.0.2.103
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>;tag=982039i4
 Call-ID: 12345600@atlanta.example.com
 CSeq: 1 INVITE
 Content-Length: 0

Johnston, et al. Best Current Practice [Page 155] RFC 5359 SIP Service Examples October 2008

 F3 ACK Alice -> Bob
 ACK sips:bob@biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74bf9
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=1234567
 To: Bob <sips:bob@biloxi.example.com>;tag=982039i4
 Call-ID: 12345600@atlanta.example.com
 CSeq: 1 ACK
 Content-Length: 0
 F4 SUBSCRIBE Alice -> Bob
 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74b8G
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=837348234
 To: Bob <sips:bob@biloxi.example.com>
 Call-ID: 4524526232@atlanta.example.com
 CSeq: 1 SUBSCRIBE
 Contact: sips:alice@client.atlanta.example.com
 Event: dialog
 Accept: application/dialog-info+xml
 Content-Length: 0
 F5 200 OK Bob -> Alice
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74b8G
  ;received=192.0.2.103
 From: Alice <sips:alice@atlanta.example.com>;tag=837348234
 To: Bob <sips:bob@biloxi.example.com>;tag=341123
 Call-ID: 4524526232@atlanta.example.com
 Expires: 60
 CSeq: 1 SUBSCRIBE
 Contact: sips:bob@client.biloxi.example.com
 Content-Length: 0

Johnston, et al. Best Current Practice [Page 156] RFC 5359 SIP Service Examples October 2008

 F6 NOTIFY Bob -> Alice
 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bK74bn2
 Max-Forwards: 70
 From: Bob <sips:bob@biloxi.example.com>;tag=341123
 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
 Call-ID: 4524526232@atlanta.example.com
 CSeq: 1 NOTIFY
 Contact: <sips:bob@client.biloxi.example.com>
 Event: dialog
 Subscription-State: active;expires=59
 Content-Type: application/dialog-info+xml
 Content-Length: ...
 <?xml version="1.0"?>
 <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
        version="0" state="full" entity="sips:bob@biloxi.example.com">
    <dialog id="562623442g3">
       <duration>1</duration>
      <state>confirmed</state>
    </dialog>
  </dialog-info>
 F7 200 OK Alice -> Bob
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bK74bn2
  ;received=192.0.2.105
 From: Bob <sips:bob@biloxi.example.com>;tag=341123
 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
 Call-ID: 4524526232@atlanta.example.com
 CSeq: 1 NOTIFY
 Content-Length: 0
 /* Bob is now available. */
 F8 NOTIFY Bob -> Alice
 NOTIFY sips:alice@atlanta.example.com SIP/2.0
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bK74bVi
 Max-Forwards: 70
 From: Bob <sips:bob@biloxi.example.com>;tag=341123

Johnston, et al. Best Current Practice [Page 157] RFC 5359 SIP Service Examples October 2008

 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
 Call-ID: 4524526232@atlanta.example.com
 CSeq: 2 NOTIFY
 Event: dialog
 Subscription-State: active;expires=27
 Contact: <sips:bob@client.biloxi.example.com>
 Content-Type: application/dialog-info+xml
 Content-Length: ...
 <?xml version="1.0"?>
 <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
        version="0" state="full" entity="sips:bob@biloxi.example.com">
    <dialog id="562623442g3">
      <state>terminated</state>
    </dialog>
 </dialog-info>
 F9 200 OK Alice -> Bob
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bK74bVi
  ;received=192.0.2.105
 From: Bob <sips:bob@biloxi.example.com>;tag=341123
 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
 Call-ID: 4524526232@atlanta.example.com
 CSeq: 2 NOTIFY
 Content-Length: 0
 F10 INVITE Alice -> Bob
 INVITE sips:bob@biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74bfq
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k
 To: Bob <sips:bob@biloxi.example.com>
 Call-ID: aoij4i9okitr@atlanta.example.com
 CSeq: 1 INVITE
 Contact: <sips:alice@client.atlanta.example.com>
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces
 Content-Type: application/sdp
 Content-Length: ...

Johnston, et al. Best Current Practice [Page 158] RFC 5359 SIP Service Examples October 2008

 v=0
 o=alice 2890844826 2890844826 IN IP4 client.atlanta.example.com
 s=
 c=IN IP4 client.atlanta.example.com
 t=0 0
 m=audio 49170 RTP/AVP 0
 a=rtpmap:0 PCMU/8000
 F11 180 Ringing Bob -> Alice
 SIP/2.0 180 Ringing
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74bfq
  ;received=192.0.2.103
 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k
 To: Bob <sips:bob@biloxi.example.com>;tag=23431
 Call-ID: aoij4i9okitr@atlanta.example.com
 CSeq: 1 INVITE
 Contact: <sips:bob@client.biloxi.example.com>
 Content-Length: 0
 F12 200 OK Bob -> Alice
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74bfq
  ;received=192.0.2.103
 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k
 To: Bob <sips:bob@biloxi.example.com>;tag=23431
 Call-ID: aoij4i9okitr@atlanta.example.com
 CSeq: 1 INVITE
 Contact: <sips:bob@client.biloxi.example.com>
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
 Supported: replaces
 Content-Type: application/sdp
 Content-Length: ...
 v=0
 o=bob 2890854527 2890854527 IN IP4 client.biloxi.example.com
 s=
 c=IN IP4 client.biloxi.example.com
 t=0 0
 m=audio 3456 RTP/AVP 0
 a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 159] RFC 5359 SIP Service Examples October 2008

 F13 ACK Alice -> Bob
 ACK sips:bob@client.biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK74bLBJ
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k
 To: Bob <sips:bob@biloxi.example.com>;tag=23431
 Call-ID: aoij4i9okitr@atlanta.example.com
 CSeq: 1 ACK
 Content-Length: 0
 F14 NOTIFY Bob -> Alice
 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bK4bnd2
 Max-Forwards: 70
 From: Bob <sips:bob@biloxi.example.com>;tag=341123
 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
 Call-ID: 4524526232@atlanta.example.com
 CSeq: 3 NOTIFY
 Contact: <sips:bob@client.biloxi.example.com>
 Event: dialog
 Subscription-State: active;expires=15
 Content-Type: application/dialog-info+xml
 Content-Length: ...
 <?xml version="1.0"?>
 <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
        version="0" state="full" entity="sips:bob@biloxi.example.com">
    <dialog id="62d2623442g3">
       <duration>1</duration>
      <state>confirmed</state>
    </dialog>
  </dialog-info>
 F15 200 OK Alice -> Bob
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bK4bnd2
  ;received=192.0.2.105
 From: Bob <sips:bob@biloxi.example.com>;tag=341123
 To: Alice <sips:alice@atlanta.example.com>;tag=837348234

Johnston, et al. Best Current Practice [Page 160] RFC 5359 SIP Service Examples October 2008

 Call-ID: 4524526232@atlanta.example.com
 CSeq: 3 NOTIFY
 Content-Length: 0
 /* Alice terminates the subscription. */
 F16 SUBSCRIBE Alice -> Bob
 SUBSCRIBE sips:bob@client.biloxi.example.com SIP/2.0
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK474b8
 Max-Forwards: 70
 From: Alice <sips:alice@atlanta.example.com>;tag=837348234
 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
 Call-ID: 4524526232@atlanta.example.com
 CSeq: 2 SUBSCRIBE
 Contact: sips:alice@client.atlanta.example.com
 Event: dialog
 Expires: 0
 Accept: application/dialog-info+xml
 Content-Length: 0
 F17 200 OK Bob -> Alice
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.atlanta.example.com:5061
  ;branch=z9hG4bK474b8
  ;received=192.0.2.103
 From: Alice <sips:alice@atlanta.example.com>;tag=837348234
 To: Bob <sips:bob@biloxi.example.com>;tag=341123
 Call-ID: 4524526232@atlanta.example.com
 Expires: 0
 CSeq: 2 SUBSCRIBE
 Contact: sips:bob@client.biloxi.example.com
 Content-Length: 0
 F18 NOTIFY Bob -> Alice
 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bKb5n2j
 Max-Forwards: 70
 From: Bob <sips:bob@biloxi.example.com>;tag=341123
 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
 Call-ID: 4524526232@atlanta.example.com

Johnston, et al. Best Current Practice [Page 161] RFC 5359 SIP Service Examples October 2008

 CSeq: 4 NOTIFY
 Contact: <sips:bob@client.biloxi.example.com>
 Event: dialog
 Subscription-State: terminated;reason=noresource
 Content-Type: application/dialog-info+xml
 Content-Length: ...
 <?xml version="1.0"?>
 <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
        version="0" state="full" entity="sips:bob@biloxi.example.com">
    <dialog id="62d2623442g3">
       <duration>3</duration>
      <state>confirmed</state>
    </dialog>
  </dialog-info>
 F19 200 OK Alice -> Bob
 SIP/2.0 200 OK
 Via: SIP/2.0/TLS client.biloxi.example.com:5061
  ;branch=z9hG4bKb5n2j
  ;received=192.0.2.105
 From: Bob <sips:bob@biloxi.example.com>;tag=341123
 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
 Call-ID: 4524526232@atlanta.example.com
 CSeq: 4 NOTIFY
 Content-Length: 0

Johnston, et al. Best Current Practice [Page 162] RFC 5359 SIP Service Examples October 2008

2.18. Click to Dial

      Bob's PC                Bob                Carol
          | REFER Refer-To:Carol F1                 |
          |------------------->|                    |
          |  202 Accepted F2   |                    |
          |<-------------------|                    |
          |                    |     INVITE F3      |
          |                    |------------------->|
          |                    |   180 Ringing F4   |
          |                    |<-------------------|
          |                    |     200 OK F5      |
          |                    |<-------------------|
          |                    |       ACK F6       |
          |                    |------------------->|
          |                    |         RTP        |
          |                    |<==================>|
          |                    |                    |
 In this example, while browsing the web on his PC, Bob clicks on
 Carol's SIP URI, intending to establish a session with Carol.  Bob's
 web browser passes the SIP URI to the SIP client on Bob's PC.  The PC
 client is configured with the URI of Bob's SIP phone.  A REFER is
 sent to the SIP phone, which results in the establishment of the
 session between Bob and Carol.
 Note that Bob's PC requests that no REFER dialog be established by
 the use of the Refer-Sub: false header field [RFC4488].
 This flow is preferable to the 3pcc flow because the end-to-end SIP
 signaling is not interrupted by the 3pcc controller, and because
 Bob's experience of the call will not be marred by the lack of
 ringback tone or possible clipping.  Suitable authorization of the
 REFER and explicit authorization of the triggered INVITE by Bob are
 necessary.
 Message Details
 /* Bob's PC SIP client sends a REFER to Bob's SIP phone. */
    F1 REFER PC -> Bob
    REFER sips:bob@biloxi.example.com SIP/2.0
    Via: SIP/2.0/TLS pc.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
    Max-Forwards: 70
    From: <sips:pc.biloxi.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>

Johnston, et al. Best Current Practice [Page 163] RFC 5359 SIP Service Examples October 2008

    Call-ID: 1234560183434
    CSeq: 1 REFER
    Refer-To: <sips:carol@chicago.example.com>
    Refer-Sub: false
    Contact: <sips:pc.biloxi.example.com>
    Content-Length: 0
    F2 202 Accepted Bob -> PC
    SIP/2.0 202 Accepted
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashds7
     ;received=192.0.2.103
    From: <sips:pc.biloxi.example.com>;tag=1234567
    To: Bob <sips:bob@biloxi.example.com>;tag=314159
    Call-ID: 1234560183434
    Contact: <sips:bob@client.biloxi.example.com>
    CSeq: 1 REFER
    Refer-Sub: false
    Content-Length: 0
    F3 INVITE Bob -> Carol
    INVITE sips:carol@chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashdK9
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>
    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:bob@client.biloxi.example.com>
    Referred-By: <sips:pc.biloxi.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com
    s=
    c=IN IP4 client.biloxi.example.com
    t=0 0
    m=audio 3458 RTP/AVP 0
    a=rtpmap:0 PCMU/8000

Johnston, et al. Best Current Practice [Page 164] RFC 5359 SIP Service Examples October 2008

    F4 180 Ringing Carol -> Bob
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashdK9
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=928287
    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Content-Length: 0
    F5 200 OK Carol -> Bob
    SIP/2.0 200 OK
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashdK9
     ;received=192.0.2.113
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=928287
    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 INVITE
    Contact: <sips:carol@client.chicago.example.com>
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
    Supported: replaces
    Content-Type: application/sdp
    Content-Length: ...
    v=0
    o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com
    s=
    c=IN IP4 client.chicago.example.com
    t=0 0
    m=audio 3456 RTP/AVP 0
    a=rtpmap:0 PCMU/8000
    F6 ACK Bob -> Carol
    ACK sips:carol@client.chicago.example.com SIP/2.0
    Via: SIP/2.0/TLS client.biloxi.example.com:5061
     ;branch=z9hG4bKnashd43
    Max-Forwards: 70
    From: Bob <sips:bob@biloxi.example.com>;tag=8675309
    To: Carol <sips:carol@chicago.example.com>;tag=928287

Johnston, et al. Best Current Practice [Page 165] RFC 5359 SIP Service Examples October 2008

    Call-ID: 7436222@atlanta.example.com
    CSeq: 1 ACK
    Content-Length: 0
    /* Bob and Carol now have established a session. */

3. Security Considerations

 Since many of the examples in this document involve SIP call control,
 either peer-to-peer or 3pcc, the security considerations in the
 Multiparty Framework document [FRAMEWORK] apply.
 Many of the services shown in this document rely on a particular user
 agent being part of a group.  Members of a group could be, for
 example, employees within a particular department, a set of home
 phone extensions, members of a call center, etc.  As such, user
 agents that are part of the group permit other group members special
 privileges and features.  For example, while a user agent may not in
 general allow another user agent to learn detailed dialog
 information, this information might be shared with another group
 member in order to facilitate a service such as call pickup.  Group
 members must be authenticated using normal SIP means such as
 certificates or shared secrets.
 The service examples in this document make extensive use of the SIP
 call control primitives REFER, Replaces, Join, and the dialog
 package.  The security considerations associated with each of these
 extensions [RFC3515], [RFC3891], [RFC3911], [RFC4235] apply to the
 scenarios in this document.

4. Acknowledgements

 The authors would like to thank the following reviewers of the
 document for their detailed comments and corrections: Vijay Gurbani,
 John Elwell, Joel Repiquet, Nagesh Kumar, Chandra Ravipati, Eric
 Burger, Jeroen Bemmel, Miguel Garcia, and Dale Worley.
 The Transfer - Instant Messaging call flow is based on the "IM-a-
 call" call flow by Jonathan Rosenberg and Henning Schulzrinne.  The
 Automatic Redial call flow is based on a call flow by Adam Roach.
 The authors wish to thank the following individuals for their
 assistance and review of this call flows document: Joel Repiquet, Aki
 Neimi, Rohan Mahy, Jonathan Rosenberg, Hemant Agrawal, Henry
 Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt
 Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott

Johnston, et al. Best Current Practice [Page 166] RFC 5359 SIP Service Examples October 2008

 Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry,
 Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya
 Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com,
 Cisco, Lucent, and Nortel.

5. References

5.1. Normative References

 [RFC3261]    Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002.
 [RFC3264]    Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264,
              June 2002.
 [RFC3265]    Roach, A., "Session Initiation Protocol (SIP)-Specific
              Event Notification", RFC 3265, June 2002.
 [RFC3428]    Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema,
              C., and D. Gurle, "Session Initiation Protocol (SIP)
              Extension for Instant Messaging", RFC 3428,
              December 2002.
 [RFC3515]    Sparks, R., "The Session Initiation Protocol (SIP) Refer
              Method", RFC 3515, April 2003.
 [RFC3840]    Rosenberg, J., Schulzrinne, H., and P. Kyzivat,
              "Indicating User Agent Capabilities in the Session
              Initiation Protocol (SIP)", RFC 3840, August 2004.
 [RFC3891]    Mahy, R., Biggs, B., and R. Dean, "The Session
              Initiation Protocol (SIP) "Replaces" Header", RFC 3891,
              September 2004.
 [RFC3911]    Mahy, R. and D. Petrie, "The Session Initiation Protocol
              (SIP) "Join" Header", RFC 3911, October 2004.
 [RFC4235]    Rosenberg, J., Schulzrinne, H., and R. Mahy, "An INVITE-
              Initiated Dialog Event Package for the Session
              Initiation Protocol (SIP)", RFC 4235, November 2005.
 [RFC4488]    Levin, O., "Suppression of Session Initiation Protocol
              (SIP) REFER Method Implicit Subscription", RFC 4488,
              May 2006.

Johnston, et al. Best Current Practice [Page 167] RFC 5359 SIP Service Examples October 2008

 [RFC4579]    Johnston, A. and O. Levin, "Session Initiation Protocol
              (SIP) Call Control - Conferencing for User Agents",
              BCP 119, RFC 4579, August 2006.

5.2. Informative References

 [FRAMEWORK]  Mahy, R., Sparks, R., Rosenberg, J., Petrie, D., and A.
              Johnston, "A Call Control and Multi-party usage
              framework for the Session Initiation Protocol (SIP)",
              Work in Progress, April 2008.
 [GRUU]       Rosenberg, J., "Obtaining and Using Globally Routable
              User Agent (UA) URIs (GRUU) in the Session Initiation
              Protocol (SIP)", Work in Progress, October 2007.
 [RFC3665]    Johnston, A., Donovan, S., Sparks, R., Cunningham, C.,
              and K. Summers, "Session Initiation Protocol (SIP) Basic
              Call Flow Examples", BCP 75, RFC 3665, December 2003.
 [RFC3725]    Rosenberg, J., Peterson, J., Schulzrinne, H., and G.
              Camarillo, "Best Current Practices for Third Party Call
              Control (3pcc) in the Session Initiation Protocol
              (SIP)", BCP 85, RFC 3725, April 2004.
 [RFC4317]    Johnston, A. and R. Sparks, "Session Description
              Protocol (SDP) Offer/Answer Examples", RFC 4317,
              December 2005.
 [RFC4475]    Sparks, R., Hawrylyshen, A., Johnston, A., Rosenberg,
              J., and H. Schulzrinne, "Session Initiation Protocol
              (SIP) Torture Test Messages", RFC 4475, May 2006.
 [TRANSFER]   Sparks, R. and A. Johnston, "Session Initiation Protocol
              Call Control - Transfer", Work in Progress,
              September 2008.

Johnston, et al. Best Current Practice [Page 168] RFC 5359 SIP Service Examples October 2008

Authors' Addresses

 Alan Johnston (editor)
 Avaya
 St. Louis, MO  63124
 EMail: alan@sipstation.com
 Robert J. Sparks
 Tekelec
 EMail: RjS@nostrum.com
 Chris Cunningham
 Cisco Systems
 EMail: chrcunni@cisco.com
 Steve Donovan
 Cisco Systems
 EMail: srd@cisco.com
 Kevin Summers
 Sonus
 Plano, TX  75093
 EMail: ksummers@sonusnet.com

Johnston, et al. Best Current Practice [Page 169] RFC 5359 SIP Service Examples October 2008

Full Copyright Statement

 Copyright (C) The IETF Trust (2008).
 This document is subject to the rights, licenses and restrictions
 contained in BCP 78, and except as set forth therein, the authors
 retain all their rights.
 This document and the information contained herein are provided on an
 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

 The IETF takes no position regarding the validity or scope of any
 Intellectual Property Rights or other rights that might be claimed to
 pertain to the implementation or use of the technology described in
 this document or the extent to which any license under such rights
 might or might not be available; nor does it represent that it has
 made any independent effort to identify any such rights.  Information
 on the procedures with respect to rights in RFC documents can be
 found in BCP 78 and BCP 79.
 Copies of IPR disclosures made to the IETF Secretariat and any
 assurances of licenses to be made available, or the result of an
 attempt made to obtain a general license or permission for the use of
 such proprietary rights by implementers or users of this
 specification can be obtained from the IETF on-line IPR repository at
 http://www.ietf.org/ipr.
 The IETF invites any interested party to bring to its attention any
 copyrights, patents or patent applications, or other proprietary
 rights that may cover technology that may be required to implement
 this standard.  Please address the information to the IETF at
 ietf-ipr@ietf.org.

Johnston, et al. Best Current Practice [Page 170]

/data/webs/external/dokuwiki/data/pages/rfc/rfc5359.txt · Last modified: 2008/10/21 22:47 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki