Skip to main content

Shared Appearances of a Session Initiation Protocol (SIP) Address of Record (AOR)
RFC 7463

Document Type RFC - Proposed Standard (March 2015) Errata
Authors Alan Johnston , Mohsen Soroushnejad , Venkatesh Venkataramanan
Last updated 2017-01-24
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
IESG Responsible AD Robert Sparks
Send notices to (None)
RFC 7463
Johnston, et al.             Standards Track                   [Page 63]
RFC 7463                 SIP Shared Appearances               March 2015

   |              |               |              |>F52 NOTIFY ----->|
   |              |               |              |                  |
   |              |               |              |<----- 200 OK F53<|

   Figure 14. Appearance Pickup Race Condition Failure Example

   F48 Alice ----> Appearance Agent

   PUBLISH sip:HelpDesk@example.com SIP/2.0
   Via: SIP/2.0/UDP ua2.example.com;branch=z9hG4bKa5d6cf61F5FBC05A
   From: <sip:alice@example.com>;tag=44150CC6-A7B7919D
   To: <sip:HelpDesk@example.com>;tag=428765950880801
   CSeq: 11 PUBLISH
   Call-ID: 87837Fkw87asfds
   Contact: <sip:alice@ua2.example.com>
   Event: dialog;shared
   Max-Forwards: 70
   Content-Type: application/dialog-info+xml
   Content-Length: ...

   <?xml version="1.0"?>
   <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
                xmlns:sa="urn:ietf:params:xml:ns:sa-dialog-info"
                version="10"
                state="full"
                entity="sip:HelpDesk@example.com">
      <dialog id="id3d4f9c83"
          call-id="dc95da63-60db1abd-d5a74b48"
          local-tag="605AD957-1F6305C2" >
            <sa:appearance>1</sa:appearance>
            <sa:exclusive>false</sa:exclusive>
            <sa:replaced-dialog
              call-id="14-1541707345"
              from-tag="44BAD75D-E3128D42"
              to-tag="d3b06488-1dd1-11b2-88c5-b03162323164+d3e48f4c" />
            <state>terminated</state>
            <local>
              <target uri="sip:alice@ua1.example.com">
              </target>
            </local>
            <remote>
                <target uri="sip:carol@ua3.example.com" />
            </remote>
       </dialog>
   </dialog-info>

Johnston, et al.             Standards Track                   [Page 64]
RFC 7463                 SIP Shared Appearances               March 2015

11.15.  Appearance Seizure Incoming/Outgoing Contention Race Condition

   Alice tries to seize appearance 2 at the same time appearance 2 is
   allocated to an incoming call.  The Appearance Agent resolves the
   conflict by sending a 400 (Bad Request) to Alice.  After the NOTIFY
   F6, Alice learns that the incoming call is using appearance 2.  Alice
   republishes for appearance 3, which is accepted.  Note that this
   example shows the INVITE being received before the NOTIFY from the
   Appearance Agent.

Johnston, et al.             Standards Track                   [Page 65]
RFC 7463                 SIP Shared Appearances               March 2015

   Carol        Proxy           Alice     Appearance Agent         Bob
   |              |               |              |                  |
   |>-- INVITE F1>|               |              |                  |
   |              |< - - - - - - - - - - - - - ->|                  |
   |              |               |              |                  |
   |              |               |>F2 PUBLISH ->|                  |
   |              |               |     (appearance=2)              |
   |              |               |              |                  |
   |              |>F3 INVITE (appearance=2) ---------------------->|
   |              |               |              |                  |
   |              |>F4 INVITE     |              |                  |
   |              |(appearance=2)>|              |                  |
   |              |               |<---- F5 400 <|                  |
   |              |               |              |                  |
   |              |               |<-- NOTIFY F6<|                  |
   |              |               |              |                  |
   |              |               |>F7 200 OK -->|                  |
   |              |               |              |------- NOTIFY F8>|
   |              |               |              |                  |
   |              |               |              |<F9 200 OK ------<|
   |              |               |              |                  |
   |              |               |>F10 PUBLISH->|                  |
   |              |               |     (appearance=3)              |
   |              |               |              |                  |
   |              |               |< F11 200 OK <|                  |
   |              |               |              |                  |
   |              |               |<- NOTIFY F12<|                  |
   |              |               |              |                  |
                  |               |>F13 200 OK ->|                  |
   Dave           |               |              |------ NOTIFY F14>|
   |              |               |              |                  |
   |              |               |              |<F15 200 OK -----<|
   |              |<-- INVITE F16<|              |                  |
   |              |               |              |                  |
   |              |>F17 100 ----->|              |                  |
   |<- INVITE F18<|               |              |                  |

   Figure 15. Appearance Seizure Incoming/Outgoing Contention
              Race Condition Example

12.  Security Considerations

   Since multiple line appearance features are implemented using
   semantics provided by SIP [RFC3261], the SIP Event Package for Dialog
   State [RFC4235], and the SIP Event Framework [RFC6665] and [RFC3903],
   security considerations in these documents apply to this document as
   well.

Johnston, et al.             Standards Track                   [Page 66]
RFC 7463                 SIP Shared Appearances               March 2015

   To provide confidentiality, NOTIFY or PUBLISH message bodies that
   provide the dialog state information and the dialog identifiers MAY
   be encrypted end-to-end using the standard mechanisms such as S/MIME
   described in [RFC3261].  Alternatively, sending the NOTIFY and
   PUBLISH requests over TLS also provides confidentiality, although on
   a hop-by-hop basis.  All SUBSCRIBEs and PUBLISHes between the UAs and
   the Appearance Agent MUST be authenticated.  Without proper
   authentication and confidentiality, a third party could learn
   information about dialogs associated with a AOR and could try to use
   this information to hijack or manipulate those dialogs using SIP call
   control primitives.

   This feature relies on standard SIP call control primitives such as
   Replaces and Join.  Proper access controls on their use MUST be used
   so that only members of the shared appearance group can use these
   mechanisms.  All INVITEs with Replaces or Join header fields MUST
   only be accepted if the peer requesting dialog replacement or joining
   has been properly authenticated using a standard SIP mechanism (such
   as Digest or S/MIME), and authorized to request a replacement.
   Otherwise, a third party could disrupt or hijack existing dialogs in
   the shared appearance group.

   For an emergency call, a UA MUST NOT wait for a confirmed seizure of
   an appearance before sending an INVITE.  Waiting for confirmation
   could inadvertently delay or block the emergency call, which by its
   nature needs to be placed as expeditiously as possible.  Instead, a
   emergency call MUST proceed regardless of the status of the PUBLISH
   transaction.

13.  IANA Considerations

   This section registers the SIP Event header field parameter 'shared',
   the SIP Alert-Info header field parameter 'appearance', and the XML
   namespace extensions to the SIP Dialog Package.

13.1.  SIP Event Header Field Parameter: shared

   This document defines the 'shared' header field parameter in the
   Event header field in the "Header Field Parameters and Parameter
   Values" registry defined by [RFC3968].

                                                    Predefined
  Header Field                  Parameter Name      Values     Reference
  ----------------------------  ------------------  ---------- ---------
  Event                         shared               No        RFC 7463

Johnston, et al.             Standards Track                   [Page 67]
RFC 7463                 SIP Shared Appearances               March 2015

13.2.  SIP Alert-Info Header Field Parameter: appearance

   This document defines the 'appearance' parameter in the Alert-Info
   header in the "Header Field Parameters and Parameter Values" registry
   defined by [RFC3968].

                                                    Predefined
   Header Field                  Parameter Name     Values     Reference
   ----------------------        ---------------    ---------  ---------
   Alert-Info                    appearance         No         RFC 7463

13.3.  URN Sub-Namespace Registration: sa-dialog-info

   This section registers a new XML namespace per the procedures in
   [RFC3688].

      URI: urn:ietf:params:xml:ns:sa-dialog-info.

      Registrant Contact: IETF BLISS working group, <bliss@ietf.org>,
      Alan Johnston <alan.b.johnston@gmail.com>

      XML:

      BEGIN
       <?xml version="1.0"?>
       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
                 "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
       <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
         <meta http-equiv="content-type"
            content="text/html;charset=iso-8859-1"/>
         <title>Shared Appearance Dialog Information Namespace</title>
       </head>
       <body>
        <h1>Namespace for Shared Appearance Dialog Information</h1>
        <h2>urn:ietf:params:xml:ns:sa-dialog-info</h2>
        <p>See <a href="http://www.rfc-editor.org/rfc/rfc7463.txt">
           RFC 7463</a>.</p>
       </body>
       </html>
      END

13.4.  XML Schema Registration

   This section registers an XML schema per the procedures in [RFC3688].

Johnston, et al.             Standards Track                   [Page 68]
RFC 7463                 SIP Shared Appearances               March 2015

      URI: urn:ietf:params:xml:schesa:sa-dialog-info.

      Registrant Contact: IETF BLISS working group, <bliss@ietf.org>,
       Alan Johnston <alan.b.johnston@gmail.com>

      The XML for this schema can be found in Section 6.

14.  References

14.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002, <http://www.rfc-editor.org/info/rfc3261>.

   [RFC3515]  Sparks, R., "The Session Initiation Protocol (SIP) Refer
              Method", RFC 3515, April 2003,
              <http://www.rfc-editor.org/info/rfc3515>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              January 2004, <http://www.rfc-editor.org/info/rfc3688>.

   [RFC3840]  Rosenberg, J., Schulzrinne, H., and P. Kyzivat,
              "Indicating User Agent Capabilities in the Session
              Initiation Protocol (SIP)", RFC 3840, August 2004,
              <http://www.rfc-editor.org/info/rfc3840>.

   [RFC3891]  Mahy, R., Biggs, B., and R. Dean, "The Session Initiation
              Protocol (SIP) "Replaces" Header", RFC 3891, September
              2004, <http://www.rfc-editor.org/info/rfc3891>.

   [RFC3903]  Niemi, A., "Session Initiation Protocol (SIP) Extension
              for Event State Publication", RFC 3903, October 2004,
              <http://www.rfc-editor.org/info/rfc3903>.

   [RFC3911]  Mahy, R. and D. Petrie, "The Session Initiation Protocol
              (SIP) "Join" Header", RFC 3911, October 2004,
              <http://www.rfc-editor.org/info/rfc3911>.

Johnston, et al.             Standards Track                   [Page 69]
RFC 7463                 SIP Shared Appearances               March 2015

   [RFC3968]  Camarillo, G., "The Internet Assigned Number Authority
              (IANA) Header Field Parameter Registry for the Session
              Initiation Protocol (SIP)", BCP 98, RFC 3968, December
              2004, <http://www.rfc-editor.org/info/rfc3968>.

   [RFC4235]  Rosenberg, J., Schulzrinne, H., and R. Mahy, "An INVITE-
              Initiated Dialog Event Package for the Session Initiation
              Protocol (SIP)", RFC 4235, November 2005,
              <http://www.rfc-editor.org/info/rfc4235>.

   [RFC5234]  Crocker, D. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, RFC 5234, January 2008,
              <http://www.rfc-editor.org/info/rfc5234>.

   [RFC6665]  Roach, A., "SIP-Specific Event Notification", RFC 6665,
              July 2012, <http://www.rfc-editor.org/info/rfc6665>.

   [RFC7462]  Liess, L., Ed., Jesske, R., Johnston, A., Worley, D., and
              P. Kyzivat, "URNs for the Alert-Info Header Field of the
              Session Initiation Protocol (SIP)", RFC 7462, March 2015,
              <http://www.rfc-editor.org/info/rfc7462>.

14.2.  Informative References

   [RFC3680]  Rosenberg, J., "A Session Initiation Protocol (SIP) Event
              Package for Registrations", RFC 3680, March 2004,
              <http://www.rfc-editor.org/info/rfc3680>.

   [RFC4579]  Johnston, A. and O. Levin, "Session Initiation Protocol
              (SIP) Call Control - Conferencing for User Agents", BCP
              119, RFC 4579, August 2006,
              <http://www.rfc-editor.org/info/rfc4579>.

   [RFC5359]  Johnston, A., Sparks, R., Cunningham, C., Donovan, S., and
              K. Summers, "Session Initiation Protocol Service
              Examples", BCP 144, RFC 5359, October 2008,
              <http://www.rfc-editor.org/info/rfc5359>.

   [RFC7088]  Worley, D., "Session Initiation Protocol Service Example
              -- Music on Hold", RFC 7088, February 2014,
              <http://www.rfc-editor.org/info/rfc7088>.

Johnston, et al.             Standards Track                   [Page 70]
RFC 7463                 SIP Shared Appearances               March 2015

Acknowledgements

   The following individuals were part of the shared appearance design
   team and have provided input and text to the document (in
   alphabetical order):

   Martin Dolly, Andrew Hutton, Raj Jain, Fernando Lombardo, Derek
   MacDonald, Bill Mitchell, Michael Procter, and Theo Zourzouvillys.

   Thanks to Chris Boulton for helping with the XML schema.

   Much of the material has been drawn from previous work by Mohsen
   Soroushnejad, Venkatesh Venkataramanan, Paul Pepper, and Anil Kumar,
   who in turn received assistance from:

      Kent Fritz, John Weald, and Sunil Veluvali of Sylantro Systems;
      Steve Towlson and Michael Procter of Citel Technologies; Rob
      Harder and Hong Chen of Polycom, Inc.; John Elwell and JD Smith of
      Siemens Communications; Dale R. Worley of Pingtel; and Graeme
      Dollar of Yahoo, Inc.

   Also thanks to Geoff Devine, Paul Kyzivat, Jerry Yin, John Elwell,
   Dan York, Spenser Dawkins, Martin Dolly, and Brett Tate for their
   comments.

   Thanks to Carolyn Beeton, Francois Audet, Andy Hutton, Tim Ross, Raji
   Chinnappa, and Harsh Mendiratta for their detailed review of the
   document.

Authors' Addresses

   Alan Johnston (editor)
   Avaya
   St. Louis, MO
   United States

   EMail: alan.b.johnston@gmail.com

   Mohsen Soroushnejad (editor)
   Sylantro Systems Corp.

   EMail: msoroush@gmail.com

Johnston, et al.             Standards Track                   [Page 71]
RFC 7463                 SIP Shared Appearances               March 2015

   Venkatesh Venkataramanan
   Sylantro Systems Corp.

   EMail: vvenkatar@gmail.com

Johnston, et al.             Standards Track                   [Page 72]