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]