7082
INFORMATIONAL

Indication of Conference Focus Support for the Centralized Conferencing Manipulation Protocol (CCMP)

Authors: R. Shekh-Yusef, M. Barnes
Date: December 2013
Working Group: NON WORKING GROUP
Stream: IETF

Abstract

The Centralized Conferencing Manipulation Protocol (CCMP) document (RFC 6503) defines a way for a client to discover a conference control server that supports CCMP. However, it does not define a way for a client involved in a conference to determine if the conference focus supports CCMP. This information would allow a CCMP-enabled client that joins a conference using SIP to also register for the Centralized Conferencing (XCON) conference event package and take advantage of CCMP operations on the conference.

This document describes two mechanisms, depending upon the need of the User Agent (UA), to address the above limitation. The first mechanism uses the Call-Info header field, and the second mechanism defines a new value for the "purpose" header field parameter in the <service-uris> element in the SIP conferencing event package.

RFC 7082: Indication of Conference Focus Support for the Centralized Conferencing Manipulation Protocol (CCMP) [RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

INFORMATIONAL
Internet Engineering Task Force (IETF)                    R. Shekh-Yusef
Request for Comments: 7082                                         Avaya
Category: Informational                                        M. Barnes
ISSN: 2070-1721                                                  Polycom
                                                           December 2013


                 <span class="h1">Indication of Conference Focus Support</span>
     <span class="h1">for the Centralized Conferencing Manipulation Protocol (CCMP)</span>

Abstract

   The Centralized Conferencing Manipulation Protocol (CCMP) document
   (<a href="./rfc6503">RFC 6503</a>) defines a way for a client to discover a conference
   control server that supports CCMP.  However, it does not define a way
   for a client involved in a conference to determine if the conference
   focus supports CCMP.  This information would allow a CCMP-enabled
   client that joins a conference using SIP to also register for the
   Centralized Conferencing (XCON) conference event package and take
   advantage of CCMP operations on the conference.

   This document describes two mechanisms, depending upon the need of
   the User Agent (UA), to address the above limitation.  The first
   mechanism uses the Call-Info header field, and the second mechanism
   defines a new value for the "purpose" header field parameter in the
   <service-uris> element in the SIP conferencing event package.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   <a href="https://www.rfc-editor.org/info/rfc7082">http://www.rfc-editor.org/info/rfc7082</a>.









<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 1]</span>

<span id="page-2" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   <a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a>
      <a href="#section-1.1">1.1</a>. Terminology ................................................<a href="#page-3">3</a>
   <a href="#section-2">2</a>. Solutions .......................................................<a href="#page-3">3</a>
      <a href="#section-2.1">2.1</a>. Call-Info ..................................................<a href="#page-3">3</a>
      <a href="#section-2.2">2.2</a>. Service URI Purpose ........................................<a href="#page-4">4</a>
   <a href="#section-3">3</a>. Overall Process .................................................<a href="#page-5">5</a>
   <a href="#section-4">4</a>. Security Considerations .........................................<a href="#page-5">5</a>
   <a href="#section-5">5</a>. IANA Considerations .............................................<a href="#page-6">6</a>
      <a href="#section-5.1">5.1</a>. Call-Info Purpose Registration .............................<a href="#page-6">6</a>
      <a href="#section-5.2">5.2</a>. URI Purpose Registration ...................................<a href="#page-6">6</a>
   <a href="#section-6">6</a>. Acknowledgments .................................................<a href="#page-6">6</a>
   <a href="#section-7">7</a>. Normative References ............................................<a href="#page-7">7</a>
   <a href="#appendix-A">Appendix A</a>. Other Approaches Considered ............................<a href="#page-9">9</a>
      <a href="#appendix-A.1">A.1</a>. Feature Tag ................................................<a href="#page-9">9</a>
      <a href="#appendix-A.2">A.2</a>. Conference URI Purpose .....................................<a href="#page-9">9</a>

<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>.  Introduction</span>

   <a href="./rfc5239">RFC 5239</a> [<a href="./rfc5239" title=""A Framework for Centralized Conferencing"">RFC5239</a>] defines a framework for Centralized Conferencing
   (XCON), which allows participants to exchange media in a centralized
   unicast conference.  The framework also outlines a set of
   conferencing protocols for building advanced conferencing
   applications.

   The Centralized Conferencing Manipulation Protocol (CCMP) [<a href="./rfc6503" title=""Centralized Conferencing Manipulation Protocol"">RFC6503</a>]
   allows authenticated and authorized users to create, manipulate, and
   delete conference objects.  Operations on conferences include adding
   and removing participants and changing their roles, as well as adding
   and removing media streams and associated end points.





<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 2]</span>

<span id="page-3" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


   CCMP defines a way for an XCON-aware client to discover whether a
   conference control server supports CCMP.  However, it does not define
   a way for a SIP client involved in a conference to determine if the
   conference focus [<a href="./rfc4353" title=""A Framework for Conferencing with the Session Initiation Protocol (SIP)"">RFC4353</a>] supports CCMP.  Knowing that a focus
   supports CCMP would allow a SIP client (that is also XCON aware) that
   joins a conference using SIP-based conferencing [<a href="./rfc4579" title=""Session Initiation Protocol (SIP) Call Control - Conferencing for User Agents"">RFC4579</a>] to also
   register for the XCON conference event package [<a href="./rfc6502" title=""Conference Event Package Data Format Extension for Centralized Conferencing (XCON)"">RFC6502</a>] and take
   advantage of CCMP operations on the conference.

   This document describes two options to address the above limitation,
   depending on the need of the User Agent (UA).  The first option uses
   the Call-Info [<a href="./rfc3261" title=""SIP: Session Initiation Protocol"">RFC3261</a>] header, which is suitable for application
   servers that need to discover if a UA supports CCMP.  The second
   option defines a new value for the "purpose" header field parameter
   in the <service-uris> element in the SIP conferencing event package
   [<a href="./rfc4575" title=""A Session Initiation Protocol (SIP) Event Package for Conference State"">RFC4575</a>] that is suitable for a UA that would typically subscribe to
   the conference event package.

   <a href="#appendix-A">Appendix A</a> has a brief description of other options that we
   considered as possible solutions.  Those other options were not
   selected, however, because the options described in this document
   better address the problem we are trying to solve.

<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>.  Terminology</span>

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in <a href="./rfc2119">RFC 2119</a> [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].

<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>.  Solutions</span>

   This section defines two mechanisms that can be used by a SIP UA to
   discover whether the conference that a client has joined, per the SIP
   signaling procedures defined in [<a href="./rfc4579" title=""Session Initiation Protocol (SIP) Call Control - Conferencing for User Agents"">RFC4579</a>], supports CCMP.
   Specifically, the mechanisms allow the client to know that the URI
   representing the conference focus, as defined in [<a href="./rfc4579" title=""Session Initiation Protocol (SIP) Call Control - Conferencing for User Agents"">RFC4579</a>], is an
   XCON-URI as defined in [<a href="./rfc6501" title=""Conference Information Data Model for Centralized Conferencing (XCON)"">RFC6501</a>].

<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a>.  Call-Info</span>

   This approach uses the Call-Info header in various requests and
   responses.

   The Call-Info header consists of two parts: a URI and a "purpose"
   header field parameter.  The URI provides the XCON-URI of the
   conference focus, and a new value for the "purpose" header field
   parameter indicates that the conference focus supports CCMP.




<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 3]</span>

<span id="page-4" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


   While the XCON-URI by itself should be enough to indicate that the
   conference focus supports CCMP, the "purpose" header field parameter
   with a value of 'ccmp' provides an easier way for a UA that does not
   use the conference event package to discover that the conference
   focus supports CCMP, without parsing the URI.

   The Call-Info header, with the XCON-URI and the "purpose" header
   field parameter with the 'ccmp' value, can be used with any INVITE
   request or response and with a response to an OPTIONS request.

   This approach would be suitable for a UA, e.g., an application server
   that acts as a Back-to-Back User Agent (B2BUA), that is interested in
   discovering that a conference focus supports CCMP but does not use
   the XCON conference event package [<a href="./rfc6502" title=""Conference Event Package Data Format Extension for Centralized Conferencing (XCON)"">RFC6502</a>].  In this case, the
   application could use the OPTIONS request and discover CCMP support
   from the response.

   This approach would also be suitable for a conference focus that
   initiates an INVITE request to a SIP UA to add a participant to a
   conference, as it would allow the conference focus to indicate that
   it supports CCMP with the INVITE request sent to the UA.

   The advantage of this approach is the ability to discover that a
   conference focus supports CCMP, without subscribing to the XCON event
   package [<a href="./rfc6502" title=""Conference Event Package Data Format Extension for Centralized Conferencing (XCON)"">RFC6502</a>].  The disadvantage is the need, in some cases, for
   an extra request, i.e., an additional OPTIONS request, to discover
   that a conference focus supports CCMP.

<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a>.  Service URI Purpose</span>

   This approach defines an additional URI 'purpose' of 'ccmp'
   associated with a <service-uris> element in the SIP conferencing
   event package.  The XCON-URI for the conference is included in the
   'uri' element, per the following example:

      <service-uris>
        <entry>
          <uri>XCON:[email protected]</uri>
          <purpose>ccmp</purpose>
        </entry>
      </service-uris>

   The advantage of this approach is that it uses an existing mechanism
   for extending the <purpose> field of the <service-uris> element in
   the conferencing event package [<a href="./rfc4353" title=""A Framework for Conferencing with the Session Initiation Protocol (SIP)"">RFC4353</a>].  The disadvantage is that
   it requires the client to subscribe to the conference event package.





<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 4]</span>

<span id="page-5" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


   This approach would be suitable for a SIP UA that would typically
   subscribe to the conference event package.  Knowing that a conference
   supports CCMP allows a SIP UA that is XCON aware to make use of the
   CCMP operations and allows it to subscribe to the XCON event package
   [<a href="./rfc6502" title=""Conference Event Package Data Format Extension for Centralized Conferencing (XCON)"">RFC6502</a>] to get additional information related to the conference.

<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>.  Overall Process</span>

   CCMP capability is discovered using the two methods described in
   <a href="#section-2">Section 2</a>.  The order in which the two methods are tried depends on
   whether an implementation subscribes to the conference event package
   by default.

   A UA implementation that subscribes to the conference event package
   can examine the conference description to see if a URI with
   <purpose>ccmp</purpose> is specified (<a href="#section-2.2">Section 2.2</a>).  An
   implementation that does not subscribe to the conference event
   package can perform an OPTIONS query when connecting to the
   conference server.  UAs MUST NOT attempt both methods with the same
   server.

   Conference servers MUST reflect the same information using both
   discovery channels.  A server MUST indicate CCMP support through the
   conference event package if and only if it indicates support through
   the Call-Info header in OPTIONS responses.  This prevents the need
   for UAs to try both methods.

<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>.  Security Considerations</span>

   This document defines no new headers or data elements; it reuses
   existing headers and data elements.  CCMP already allows a client the
   ability to discover if a conference server supports CCMP, using a DNS
   mechanism as defined in <a href="./rfc6503#section-12.4">[RFC6503] Section 12.4</a>.

   Thus, the solution options defined in this document do not introduce
   any new security threats.















<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 5]</span>

<span id="page-6" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>.  IANA Considerations</span>

<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>.  Call-Info Purpose Registration</span>

   This specification adds a new predefined value "ccmp" for the
   "purpose" header field parameter of the Call-Info header field.  This
   modifies the registry header field parameters and parameter values by
   adding this RFC as a reference to the line for header field
   "Call-Info" and parameter name "purpose":

      Header Field: Call-Info

      Parameter Name: purpose

      Predefined Values: yes

      Reference: [<a href="./rfc3261" title=""SIP: Session Initiation Protocol"">RFC3261</a>] [<a href="./rfc5367" title=""Subscriptions to Request-Contained Resource Lists in the Session Initiation Protocol (SIP)"">RFC5367</a>] [<a href="./rfc6910" title=""Completion of Calls for the Session Initiation Protocol (SIP)"">RFC6910</a>] [<a href="./rfc6993" title=""Instant Messaging and Presence Purpose for the Call-Info Header Field in the Session Initiation Protocol (SIP)"">RFC6993</a>] [<a href="./rfc7082">RFC7082</a>]

<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>.  URI Purpose Registration</span>

   This specification adds a new predefined value "ccmp" to the "URI
   Purposes" subregistry, which defines XML elements to be encoded in
   the conference event package [<a href="./rfc4575" title=""A Session Initiation Protocol (SIP) Event Package for Conference State"">RFC4575</a>].

   This modifies the registry as follows:

      Value: ccmp

      Description: The URI can be used to indicate that the conference
                   focus supports CCMP.

      Reference: [<a href="./rfc7082">RFC7082</a>]

<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>.  Acknowledgments</span>

   The authors would like to thank Alan Johnston, Robert Sparks, Cullen
   Jennings, Glenn Parsons, Ben Campbell, Barry Leiba, Spencer Dawkins,
   Sean Turner, Pete Resnick, and Adrian Farrel for their careful review
   and feedback.

   Special thanks to Adam Roach for his thorough review, comments, and
   suggestions.  Special thanks also to Richard Barnes for his review
   and for the text he provided for <a href="#section-3">Section 3</a> of this document.








<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 6]</span>

<span id="page-7" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>.  Normative References</span>

   [<a id="ref-RFC2119">RFC2119</a>]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.

   [<a id="ref-RFC3261">RFC3261</a>]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", <a href="./rfc3261">RFC 3261</a>,
              June 2002.

   [<a id="ref-RFC3840">RFC3840</a>]  Rosenberg, J., Schulzrinne, H., and P. Kyzivat,
              "Indicating User Agent Capabilities in the Session
              Initiation Protocol (SIP)", <a href="./rfc3840">RFC 3840</a>, August 2004.

   [<a id="ref-RFC4353">RFC4353</a>]  Rosenberg, J., "A Framework for Conferencing with the
              Session Initiation Protocol (SIP)", <a href="./rfc4353">RFC 4353</a>,
              February 2006.

   [<a id="ref-RFC4575">RFC4575</a>]  Rosenberg, J., Schulzrinne, H., and O. Levin, Ed., "A
              Session Initiation Protocol (SIP) Event Package for
              Conference State", <a href="./rfc4575">RFC 4575</a>, August 2006.

   [<a id="ref-RFC4579">RFC4579</a>]  Johnston, A. and O. Levin, "Session Initiation Protocol
              (SIP) Call Control - Conferencing for User Agents",
              <a href="https://www.rfc-editor.org/bcp/bcp119">BCP 119</a>, <a href="./rfc4579">RFC 4579</a>, August 2006.

   [<a id="ref-RFC5239">RFC5239</a>]  Barnes, M., Boulton, C., and O. Levin, "A Framework for
              Centralized Conferencing", <a href="./rfc5239">RFC 5239</a>, June 2008.

   [<a id="ref-RFC5367">RFC5367</a>]  Camarillo, G., Roach, A., and O. Levin, "Subscriptions to
              Request-Contained Resource Lists in the Session Initiation
              Protocol (SIP)", <a href="./rfc5367">RFC 5367</a>, October 2008.

   [<a id="ref-RFC6501">RFC6501</a>]  Novo, O., Camarillo, G., Morgan, D., and J. Urpalainen,
              "Conference Information Data Model for Centralized
              Conferencing (XCON)", <a href="./rfc6501">RFC 6501</a>, March 2012.

   [<a id="ref-RFC6502">RFC6502</a>]  Camarillo, G., Srinivasan, S., Even, R., and J.
              Urpalainen, "Conference Event Package Data Format
              Extension for Centralized Conferencing (XCON)", <a href="./rfc6502">RFC 6502</a>,
              March 2012.

   [<a id="ref-RFC6503">RFC6503</a>]  Barnes, M., Boulton, C., Romano, S., and H. Schulzrinne,
              "Centralized Conferencing Manipulation Protocol",
              <a href="./rfc6503">RFC 6503</a>, March 2012.






<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 7]</span>

<span id="page-8" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


   [<a id="ref-RFC6910">RFC6910</a>]  Worley, D., Huelsemann, M., Jesske, R., and D. Alexeitsev,
              "Completion of Calls for the Session Initiation Protocol
              (SIP)", <a href="./rfc6910">RFC 6910</a>, April 2013.

   [<a id="ref-RFC6993">RFC6993</a>]  Saint-Andre, P., "Instant Messaging and Presence Purpose
              for the Call-Info Header Field in the Session Initiation
              Protocol (SIP)", <a href="./rfc6993">RFC 6993</a>, July 2013.












































<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 8]</span>

<span id="page-9" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>.  Other Approaches Considered</span>

   The following two options were considered as possible solutions but
   were not selected because the options described in this document
   better address the problem we are trying to solve.

<span class="h3"><a class="selflink" id="appendix-A.1" href="#appendix-A.1">A.1</a>.  Feature Tag</span>

   This approach defines a feature parameter 'ccmp' to indicate that a
   SIP dialog belongs to a conference that supports CCMP.  The use of
   feature parameters in Contact header fields to describe the
   characteristics and capabilities of a UA is described in the User
   Agent Capabilities document [<a href="./rfc3840" title=""Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)"">RFC3840</a>].

   The conference focus behavior regarding the handling of the 'ccmp'
   feature is the same as the behavior for the handling of the 'isfocus'
   feature parameter.  In session establishment, a conference focus MUST
   include the 'ccmp' feature parameter in the Contact header field
   unless the conference focus wishes to hide the fact that it is a
   conference focus.

   The advantages of this approach are a one-step discovery of the
   conference focus and its support for the 'ccmp' feature and the fact
   that it can be used in response to an OPTIONS request, and that it
   enables the discovery of the 'ccmp' capability by any network element
   that does not need the conference event package.  The disadvantage is
   the definition of a new feature parameter.

<span class="h3"><a class="selflink" id="appendix-A.2" href="#appendix-A.2">A.2</a>.  Conference URI Purpose</span>

   This approach defines an additional URI 'purpose' of 'ccmp'
   associated with a 'conf-uris' element in the SIP conferencing event
   package.

   ccmp: Indicates that the conference focus represented by this URI
      supports 'ccmp'; this in turn allows a client to use CCMP to
      manipulate the conference.  This URI MUST be an XCON-URI as
      defined in the XCON data model specification [<a href="./rfc6501" title=""Conference Information Data Model for Centralized Conferencing (XCON)"">RFC6501</a>].

      <conf-uris>
        <entry>
          <uri>XCON:[email protected]</uri>
          <display-text>whatever</display-text>
          <purpose>ccmp</purpose>
        </entry>
      </conf-uris>





<span class="grey">Shekh-Yusef & Barnes          Informational                     [Page 9]</span>

<span id="page-10" ></span>
<span class="grey"><a href="./rfc7082">RFC 7082</a>            Conference Focus Support for CCMP      December 2013</span>


   The advantage of the SIP conference event package options is the use
   of an existing mechanism for extending the <purpose> field of the
   <service-uris> or <conf-uris> elements.  The disadvantage is the
   requirement that the client register for the conference event
   package.

Authors' Addresses

   Rifaat Shekh-Yusef
   Avaya
   250 Sidney Street
   Belleville, Ontario
   Canada

   Phone: +1-613-967-5267
   EMail: [email protected]


   Mary Barnes
   Polycom
   TX
   US

   EMail: [email protected]



























Shekh-Yusef & Barnes          Informational                    [Page 10]

Additional Resources