<?xml version="1.0" encoding="US-ASCII"?><!DOCTYPE rfc SYSTEM "rfc2629.dtd"><?rfc rfcedstyle="yes"?><?rfc toc="yes"?><?rfc subcompact="no"?><?rfc sortrefs="yes"?><rfc number="5359" category="bcp" seriesNo="144"><front><title abbrev="SIP Service Examples">Session Initiation Protocol Service Examples</title><author initials="A." surname="Johnston" fullname="Alan Johnston" role="editor"><organization>Avaya</organization> <address>  <postal>   <city>St. Louis</city><region>MO</region><code>63124</code>   </postal>  <email>alan@sipstation.com</email>  </address></author> <author initials="R." surname="Sparks" fullname="Robert J. Sparks"> <organization>Estacado Systems</organization> <address>  <email>RjS@estacado.net</email>  </address></author><author initials="C." surname="Cunningham" fullname="Chris Cunningham"><organization>Cisco Systems</organization><address>  <email>chrcunni@cisco.com</email>  </address></author><author initials="S." surname="Donovan" fullname="Steve Donovan"><organization>Cisco Systems</organization>  <address>  <email>srd@cisco.com</email>  </address></author><author initials="K." surname="Summers" fullname="Kevin Summers"> <organization>Sonus</organization> <address>  <postal>    <city>Plano</city><region>TX</region><code>75093</code>  </postal>  <email>ksummers@sonusnet.com</email>  </address></author><date month="October" year="2008"/><keyword>example</keyword><!-- [rfced] Please insert any keywords (beyond those that appear in  the title) for use on http://www.rfc-editor.org/rfcsearch.html. --><abstract> <t>   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.</t></abstract></front><middle><section title="Overview"> <t>   This document provides example call flows detailing a SIP   implementation of the following traditional telephony services:</t><figure><artwork><![CDATA[        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        Busy Call Forwarding             Click to Dial        No Answer Call Forwarding                                                  ]]></artwork></figure><t>Note that the Single Line Extension call flow has been removed from this document and will be covered in a separate document.</t><t>   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. </t><t>       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    <xref target="RFC3261">RFC 3261</xref> and some of its extensions.</t><t>   These flows represent carefully checked and working group reviewed    scenarios of SIP service examples as a companion to the specifications. </t><t>       These call flows are based on the current version 2.0 of SIP in    <xref target="RFC3261">RFC 3261</xref> with Session Description   Protocol (SDP) usage described in    <xref target="RFC3264">RFC 3264</xref>. Other RFCs    also form part of the SIP standard and are used and referenced in these   call flows.</t><t>   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 <xref target="RFC3725">3pcc (Third Party Call Control)</xref>   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 <xref target="FRAMEWORK">Multiparty Framework document</xref>.</t><t>   These flows assume the functionality described in the <xref target="RFC3665">SIP Call Flow   Examples document</xref>, which explores basic SIP behavior.  Some of the scenarios described herein make use of   the SIP method extension <xref target="RFC3515">REFER</xref>, the SIP header extension <xref target="RFC3891">   Replaces</xref>, and the SIP header extension <xref target="RFC3911">Join</xref>.  The   <xref target="RFC3265">SIP Events document</xref> describes the use of SUBSCRIBE and NOTIFY,   while the <xref target="RFC4235">SIP Dialog Event Package document</xref> describes the dialog event   package.  Some examples make use of the <xref target="GRUU">GRUU   (Globally Routable User Agent URI) extension</xref>.</t><t>   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.</t><t>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 <xref target="RFC4317" />.</t><t>   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.</t><section title="Legend for Message Flows"><t>   Dashed lines (---) represent control messages that are mandatory to   the call scenario. These control messages can be SIP signaling.</t><t>   Double dashed lines (===) represent media paths between network   elements.</t><t>   Messages with parentheses around the name represent optional control   messages.</t><t>   Messages are identified in the figures as F1, F2, etc.  This   references the message details in the table that follows the figure.</t><t>   Lines longer than 72 characters are handled using the &lt;allOneLine&gt; convention defined in Section 2.1 of <xref target="RFC4475">RFC 4475</xref>.</t><t>   Comments in the message details are shown in the following form:</t><t>   /* Comments. */</t>   </section></section><section title="Service Examples"><section title="Call Hold"><figure><artwork><![CDATA[         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  |<-------------|          |<---------------|              |          |                |              |]]></artwork></figure><t>   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 of using the a=sendonly    SDP attribute. </t><t>   Also note the use of the rendering feature tag defined in RFC 4235 <xref target="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. </t><t>   Message Details</t><figure><artwork><![CDATA[   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        ;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   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   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    ;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    ;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: ...   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   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   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   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   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   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]]></artwork></figure></section><section title="Consultation Hold"><figure><artwork><![CDATA[        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      |          |                |--------------------------------->|          |                |         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    |              |                   |          |<---------------|              |                   |          |                |              |                   |]]></artwork></figure><t>   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.</t><t>Also note the use of the rendering feature tag defined in RFC 4235 <xref target="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. </t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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   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: ...   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   /* 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: ...   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   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   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   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    ;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   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   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   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   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: ...   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   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   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]]></artwork></figure></section><section title="Music on Hold"><figure><artwork><![CDATA[        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  |          |                |------------->|          |                |              |          | 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           |          |<------------------------------|]]></artwork></figure><t>   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.</t><t>Note the use of the rendering feature tag defined in RFC 4235 <xref target="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 <xref target="RFC3840" />) and byeless feature tags (defined in RFC 4235 <xref target="RFC4235" />)  to describe the capabilities of the Music Server.</t><t>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.</t><t>Message Details</t><figure><artwork><![CDATA[   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=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   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   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   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   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   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   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>   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   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    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. */]]></artwork></figure></section><section title="Transfer - Unattended"><figure><artwork><![CDATA[       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    |                    |         |------------------->|                    |         |                    |                    |]]></artwork></figure><t>   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.</t><t>   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).  </t><t>   For more about call transfer, see the <xref target="TRANSFER">transfer document</xref>.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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. */   /* 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: ...   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. */   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   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   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]]></artwork></figure></section><section title="Transfer - Attended"><figure><artwork><![CDATA[        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    |          |------------------------------>|          |            200 OK F20         |          |<------------------------------|          |             ACK F21           |          |------------------------------>|          |               RTP             |          |<=============================>|          |                |    BYE F22   |          |                |<-------------|          |                |  200 OK F23  |          |                |------------->|          |   NOTIFY F24   |              |          |--------------->|              |          |   200 OK F25   |              |          |<---------------|              |          |    BYE F26     |              |          |<---------------|              |          |   200 OK F27   |              |          |--------------->|              |]]></artwork></figure><t>   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 <xref target="RFC3891">Replaces   header field</xref> 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 <xref target="GRUU">GRUU</xref> 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 <xref target="TRANSFER">transfer document</xref>.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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: ...   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   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. */   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   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: ...   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   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   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: ...   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   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   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    ;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]]></artwork></figure></section><section title="Transfer - Instant Messaging"><figure><artwork><![CDATA[         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  |                   |          |<-------------|                   |          |                                  |]]></artwork></figure><t>   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.</t><t>   This scenario shows the use of the SIP <xref target="RFC3428">MESSAGE</xref>   method to pass the URI.     However, another IM protocol or other method could have been used to pass   the URI from Bob to Carol.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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   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   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]]></artwork></figure></section><section title="Call Forwarding Unconditional"><figure><artwork><![CDATA[         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  |<-------------|          |<---------------|              |          |                |              |]]></artwork></figure><t>   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.</t><t>   Note that the 181 Call is Being Forwarded response does not have a To tag      added as the proxy does not wish to establish an early dialog with Alice.  Strictly speaking, the proxy is behaving as a user agent in this case as a proxy cannot generate non-100 provisional responses.</t><t>   Note also that forwarding could be accomplished using a redirect (302 Moved Temporarily response).</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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   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   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   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]]></artwork></figure></section><section title="Call Forwarding - Busy"><figure><artwork><![CDATA[        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    |<---------------------------------|          |<---------------|              |                   |          |                |              |                   |]]></artwork></figure><t>   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.</t><t>   Message Details</t><figure><artwork><![CDATA[   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=   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 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   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   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   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   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 A 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    ;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]]></artwork></figure></section><section title="Call Forwarding - No Answer"><figure><artwork><![CDATA[        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    |<---------------------------------|          |<---------------|              |                   |          |                |              |                   |]]></artwork></figure><t>   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.</t><t>   Message Details</t><figure><artwork><![CDATA[   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=   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   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   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=   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   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    ;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 A 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   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]]></artwork></figure></section><section title="3-Way Conference - Third Party Is Added"><figure><artwork><![CDATA[         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    |          |                |<============>|]]></artwork></figure><t>   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    <xref target="RFC3840">"isfocus" feature tag</xref> as   described in <xref target="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.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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=   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. */   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   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   /* User B's mixer now mixes media from both A and C       to create the 3-way conference. */]]></artwork></figure></section><section title="3-Way Conference - Third Party Joins"><figure><artwork><![CDATA[         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    |          |                |<============>|]]></artwork></figure><t>   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 <xref target="RFC3840">"isfocus" feature tag</xref>      as described in <xref target="RFC4579" />. Bob  then   accepts the INVITE from Carol, resulting in the 3-way call.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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: ...   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   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   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]]></artwork></figure></section><section title="Find-Me"><figure><artwork><![CDATA[          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             |          |<==================================================>|          |                |                  BYE F23          |          |     BYE F24    |<----------------------------------|          |<---------------|                                   |          |    200 OK F25  |                                   |          |--------------->|                 200 OK F26        |          |                |---------------------------------->|          |                |                                   |]]></artwork></figure><t>   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.</t><t>   While this flow shows a sequential search, the search could be   accomplished using parallel forking, as in the previous example.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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   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   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   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    ;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   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: ...   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 A and B4. */   /* User B4 hangs up with User A. */   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   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   To: Alice <sips:alice@atlanta.example.com>;tag=1234567   Call-ID: 12345600@atlanta.example.com   CSeq: 1 BYE   Content-Length: 0]]></artwork></figure></section><section title="Call Management (Incoming Call Screening)"><figure><artwork><![CDATA[                                                   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                               |          |--------------------------------------------->|             |                                              |          |                                              |          |                                              |]]></artwork></figure><t>   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.</t><t>   Note that call screening cannot be done using the From header --   instead some form of authentication credentials must be used.</t><t>   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.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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, qop="auth", 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: ...   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   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   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]]></artwork></figure></section><section title="Call Management (Outgoing Call Screening)"><figure><artwork><![CDATA[        Alice            Proxy           Bob          |                |              |          |    INVITE F1   |              |          |--------------->|              |          | 407 Proxy Authentication F2    |          |<---------------|              |          |     ACK F3     |              |          |--------------->|              |          |    INVITE F4   |              |          |--------------->|              |          | 403 Screening Failure (Originating) F5          |<---------------|              |          |     ACK F6     |              |          |--------------->|              |          |                |              |]]></artwork></figure><t>   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.</t><t>   Alice could establish a session to listen to the announcement in the    Error-Info header field.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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]]></artwork></figure></section><section title="Call Park"><figure><artwork><![CDATA[        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 |          |<-------------------------------------------|          |              |              |   200 F21    |          |------------------------------------------->|          |              |              |    ACK F22   |          |<-------------------------------------------|          |                  RTP Media                 |          |<==========================================>|          |           BYE F23           |              |          |---------------------------->|              |          |          200 OK F24         |              |          |<----------------------------|              |          |       No more RTP Music     |              |]]></artwork></figure><t>   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.</t><t>   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.  </t><t>   Note that this call flow is a special case of call transfer.</t><t>   Note also that this flow could also be used for Music on Hold.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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 A,      which replaces the established session between A and B.      Note that there is no session established between B       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   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   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   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   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   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"         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   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. */   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]]></artwork></figure></section><section title="Call Pickup"><figure><artwork><![CDATA[         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     |          |<---------------------------------|          |                                  |]]></artwork></figure><t>   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/&wj;ACK sequence (F11/F12) and the 200 OK to the CANCEL (F10) is not deterministic.</t><t>   This call flow shows the use of the "early-only"   parameter <xref target="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.</t><t>   Also note that the subscription between Bob and Carol could have been    established prior to Alice's call.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   /* 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   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>   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. */   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   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 Bob. */   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]]></artwork></figure></section><section title="Automatic Redial"><figure><artwork><![CDATA[        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   |          |--------------->|          |                |]]></artwork></figure><t>   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.</t><t>   Message Details</t><figure><artwork><![CDATA[   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   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   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   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: ...   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   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   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   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]]></artwork></figure></section><section title="Click to Dial"><figure><artwork><![CDATA[     Bob's PC                Bob                Carol         | REFER Refer-To:Carol F1                 |         |------------------->|                    |         |  202 Accepted F2   |                    |         |<-------------------|                    |         |                    |     INVITE F3      |         |                    |------------------->|         |                    |   180 Ringing F4   |         |                    |<-------------------|         |                    |     200 OK F5      |         |                    |<-------------------|         |                    |       ACK F6       |         |                    |------------------->|         |                    |         RTP        |         |                    |<==================>|         |                    |                    |]]></artwork></figure><t>   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.</t><t>   Note that Bob's PC requests that no REFER dialog be established by the use of the Refer-Sub: false header field <xref target="RFC4488" />.</t><t>   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.</t><t>   Message Details</t><t>   /* Bob's PC SIP client sends a REFER to Bob's SIP phone. */</t><figure><artwork><![CDATA[   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>   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   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   Call-ID: 7436222@atlanta.example.com   CSeq: 1 ACK   Content-Length: 0   /* Bob and Carol now have established a session. */]]></artwork></figure></section></section><section title="Security Considerations"><t>   Since many of the examples in this document involve SIP call control,   either peer-to-peer or 3pcc, the security considerations in the   <xref target="FRAMEWORK">Multiparty Framework document</xref> apply.</t><t>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.</t><t>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 <xref target="RFC3515" />, <xref target="RFC3891" />,  <xref target="RFC3911" />,  <xref target="RFC4235" />   apply to the scenarios in this document.</t></section><section title="Acknowledgements"><t>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.</t><t>   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   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.</t></section></middle><back><references title="Normative References"><?rfc include="reference.RFC.3261" ?><?rfc include="reference.RFC.3515" ?><?rfc include="reference.RFC.3891" ?><?rfc include="reference.RFC.3264" ?><?rfc include="reference.RFC.3265" ?><?rfc include="reference.RFC.4235" ?><?rfc include="reference.RFC.3911" ?><?rfc include="reference.RFC.3840" ?><?rfc include="reference.RFC.4579" ?><?rfc include="reference.RFC.3428" ?><?rfc include="reference.RFC.4488" ?></references><references title="Informative References"><reference anchor='TRANSFER'><front><title>Session Initiation Protocol Call Control - Transfer</title><author initials='R' surname='Sparks' fullname='Robert Sparks'>    <organization /></author><author initials='A' surname='Johnston' fullname='Alan  Johnston'>    <organization /></author><date month='September' day='3' year='2008' /><abstract><t>This document describes providing Call Transfer capabilities in the Session Initiation Protocol (SIP).  SIP extensions such as REFER and Replaces are used to provide a number of transfer services including blind transfer, consultative transfer, and attended transfer.  This work is part of the SIP multiparty call control framework.</t></abstract></front><seriesInfo name='Work in' value='Progress' /></reference><reference anchor='FRAMEWORK'><front><title>A Call Control and Multi-party usage framework for the Session Initiation Protocol (SIP)</title><author initials='R' surname='Mahy' fullname='Rohan Mahy'>    <organization /></author><author initials='R' surname='Sparks' fullname='Robert Sparks'>    <organization /></author><author initials='J' surname='Rosenberg' fullname='Jonathan Rosenberg'>    <organization /></author><author initials='D' surname='Petrie' fullname='Dan Petrie'>    <organization /></author><author initials='A' surname='Johnston' fullname='Alan Johnston'>    <organization /></author><date month='April' day='16' year='2008' /></front><seriesInfo name='Work in' value='Progress' /></reference><?rfc include="reference.RFC.3665" ?><?rfc include="reference.RFC.3725" ?><reference anchor='GRUU'><front><title>Obtaining and Using Globally Routable User Agent (UA) URIs (GRUU) in the Session Initiation Protocol (SIP)</title><author initials='J' surname='Rosenberg' fullname='Jonathan Rosenberg'>    <organization /></author><date month='October' day='11' year='2007' /></front><seriesInfo name='Work in' value='Progress' /></reference><?rfc include="reference.RFC.4317" ?><?rfc include="reference.RFC.4475" ?></references></back></rfc>