Network Working Group                                         C. Boulton
Internet-Draft                             Ubiquity Software Corporation
Expires: September 1, 2007                                     M. Barnes
                                                                  Nortel
                                                       February 28, 2007


   A Universal Resource Identifier (URI) for Centralized Conferencing
                                 (XCON)
                       draft-boulton-xcon-uri-01

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on September 1, 2007.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

Abstract

   A Uniform Resource Identifier (URI) is defined as a compact string of
   characters for identifying an abstract or physical resource.  This
   document defines a URI scheme and syntax for the conference object
   identifier, as defined in "A Framework and Data Model for Centralized
   Conferencing".




Boulton & Barnes        Expires September 1, 2007               [Page 1]


Internet-Draft                  XCON URI                   February 2007


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Conventions and Terminology  . . . . . . . . . . . . . . . . .  3
   3.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Conference URI Mapping Examples  . . . . . . . . . . . . . . .  6
   5.  Conference URI Definition  . . . . . . . . . . . . . . . . . .  8
   6.  Conference Object Identifier Creation and Distribution . . . .  8
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . .  9
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     10.1.  Normative References  . . . . . . . . . . . . . . . . . .  9
     10.2.  Informative References  . . . . . . . . . . . . . . . . .  9
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
   Intellectual Property and Copyright Statements . . . . . . . . . . 11



































Boulton & Barnes        Expires September 1, 2007               [Page 2]


Internet-Draft                  XCON URI                   February 2007


1.  Introduction

   A Uniform Resource Identifier (URI) is defined as a compact string of
   characters for identifying an abstract or physical resource.  This
   document defines a URI scheme and syntax for the conference object
   identifier, as defined in "A Framework and Data Model for Centralized
   Conferencing" [3]

   A Conference Object, defined in [3], provides the data representation
   of a conference instance during its varying life-cycle stages.  A
   conference object is unique within a conferencing system and requires
   a mechanism for identifying and associating varying components/
   interfaces that construct and manipulate a conference instance.  The
   XCON-URI scheme defined in this document provides a unique top-level
   conference object identifier that provides such functionality.  The
   conference object identifier can then be used by the conferencing
   system and related protocols to gain access and reference a specific
   conference object (for example, used by a Conference Control
   Protocol).  It is expected that a Conference Object may be accessed
   by a number of future mechanisms.


2.  Conventions and Terminology

   In this document, BCP 14/RFC 2119 [1] defines the key words "MUST",
   "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT",
   "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL".  In
   addition, BCP 15 indicates requirement levels for compliant
   implementations.

   This document uses the terminology defined in [3].


3.  Overview

   The conference object identifier can be viewed as a key to accessing
   a specific conference object.  It is used by the conference control
   protocol as described in [TBD] to access, manipulate and delete a
   conference object.  A conference object identifier is provided to the
   conferencing client to enable such functions to be carried out.  This
   can either be returned through the conference control protocol while
   creating a conference object, be provided by the conference
   notification service or through out-of-band mechanisms (e.g.
   E-Mail).

   A centralized conferencing system, as defined in "A Framework and
   Data Model for Centralized Conferencing" [3], has potential to expose
   a range of interfaces and protocols.  It is also possible that future



Boulton & Barnes        Expires September 1, 2007               [Page 3]


Internet-Draft                  XCON URI                   February 2007


   additions to the centralized conferencing framework might place
   requirements to provide further additional protocols and interfaces.
   A conference object can consist and be associated with many
   identifiers that are in some way related to a conference object.
   Good examples incude the Binary Floor Control Protocol (BFCP)[4] and
   call signaling protocols, such as SIP.  Each of these protocols use a
   unique identifier to represent a protocol instance associated with a
   conference object.

   A conferencing system may maintain a relationship between the
   conference object identifiers and the identifiers associated with
   each of the complimentary centralized conferencing protocols (e.g.,
   call signaling protocols, BFCP, etc.).  To facilitate the maintenance
   of these relationships, the conference object identifier acts as a
   top level identifier within the conferencing system for the purpose
   of identifying the interfaces for these other protocols.  This
   implicit binding provides a structured mapping of the various
   protocols with the associated conference object Identifier.  Figure 1
   illustrates the relationship between the identifiers used for the
   protocols within this framework and the general conference object
   identifier.

                              +--------------+
                              |  Conference  |
                              |    Object    |
                              |  Identifier  |
                              +------+-------+
                                     |
                                     |
                                     |
                   +-----------------+---------------+
                   |                                 |
           +-------+---------+               +-------+-------+
           |CSP Conference ID|               | BFCP 'confid' |
           +-----------------+               +---------------+



                   Figure 1: Conference Object Mapping.

   In Figure 1, the conference object identifier acts as the top level
   key in the identification process.  The call signaling protocols have
   an associated conference user identifier, often represented in the
   form of URIs.  The binary floor control protocol, as defined in [5],
   defines the 'conf-id' identifier which represents a conference
   instance within floor control.  When created within the conferencing
   system, the 'conf-id' has a 1:1 mapping to the unique conference
   object Identifier.  Operations associated with the conference control



Boulton & Barnes        Expires September 1, 2007               [Page 4]


Internet-Draft                  XCON URI                   February 2007


   protocols are directly associated with the conference object, thus
   the primary identifier associated with these protocols is the
   conference object identifier.  The mappings between additional
   protocols/interface is not strictly 1:1 and does allow for multiple
   occurrences.  For example, multiple call signaling protocols will
   each have a representation that is implicitly linked to the top level
   conference object identifier e.g.  H323 and SIP URIs that represent a
   conference instance.  It should be noted that a conferencing system
   is free to structure such relationships as required and this
   information is just included as a guideline that can be used.

   The following example illustrates the representation and
   relationships that might occur in a typical conference instance.  The
   table in Figure 2 lists a typical conference instance and related
   properties.


+------------------------+------------------------+------------------------+
|      Conf Obj URI      |       CSP URI          |        BFCP Conf-ID    |
+------------------------+------------------------+------------------------+
|      xcon:Ji092i       | sip:Ji092i@example.com |         Ji092i         |
|                        | tel:+44(0)2920930033   |                        |
|                        | h323:Ji092i@example.com|                        |
+------------------------+------------------------+------------------------+


                 Figure 2: Conference Table Representation

   The information from Figure 2 can then be applied to the
   representation introduced in Figure 1.  This results in Figure 3.





















Boulton & Barnes        Expires September 1, 2007               [Page 5]


Internet-Draft                  XCON URI                   February 2007


                              +--------------+
                              |  Conference  |
                              |    Object    |
                              |  Identifier  |
                              +--------------+
                              |  xcon:Ji092i |
                              +------+-------+
                                     |
                                     |
                                     |
                   +-----------------+---------------+
                   |                                 |
       +-----------+-----------+             +-------+-------+
       |   CSP Conference IDs  |             | BFCP 'confid' |
       +-----------------------+             +---------------+
       |h323:Ji092i@example.com|             |    Ji092i     |
       |tel:+44(0)2920930033   |             +-------+-------+
       |sip:Ji092i@example.com |                     |
       +-----------------------+             +-------|-------+
                                             | BFCP 'floorid |
                                             +---------------+
                                             |    UEK78d     |
                                             |    09cnJk     |
                                             +---------------+




                 Figure 3: Conference Tree Representation

   Further elements can be added to the tree representation in Figure 3
   to enable a complete representation of a conference instance within a
   conferencing system.

   This style of association can be applied to any supplementary
   mechanisms that are applied to the centralized conferencing model
   defined in this document as long as a unique reference per conference
   instance is available that can be mapped to a conference object.


4.  Conference URI Mapping Examples

   As mentioned in the previous section, it is possible, although not
   required, to map an 'xcon' URI from this specification for multiple
   usages.  Identification of a conference instance within related
   protocols can be derived from the appropriate 'xcon' URI.  It is
   expected that any future additions to centralized conferencing will
   make use of the mappings provided in this section.



Boulton & Barnes        Expires September 1, 2007               [Page 6]


Internet-Draft                  XCON URI                   February 2007


   A basic XCON URI looks as follows:

   xcon:83Hd79qhjsd@example.com

   The left hand side of the URI (to the left of the '@') represents the
   unique token.  This token can be used by any protocol wishing to gain
   access to functionality associated with a specific conference object.
   For example, when used to construct a SIP INVITE request, the token
   would be used to populate the 'user' part of the SIP URI - as defined
   in RFC 3261[2].  The right hand side of the URI, as with any URI,
   provides domain level information ('example.com' in previous
   example).  So continuing the previous example, the SIP URI domain
   part would be equal to this domain information.  This would result in
   the following SIP URI that would enable a request to be sent to the
   conference instance (to join) at a conferencing system:

   sip:83Hd79qhjsd@example.com

   Another example would be the mapping of the previous 'xcon' URI for
   the purpose of BFCP.  Again, the previously described 'left side' of
   the URI would be extracted and used as the 'confid' defined in [5]
   the 'right side' of the URI provides the required connection
   information to construct a BFCP connection.  The hostname can be used
   to provide either a an IP address or use DNS resolution to provide a
   connection location (and optionally port).  A port can be explicitly
   defined if required.

   The syntax defined in Section 5 also allows additional URI parameters
   to be defined.  This specification does not define any parameters or
   usages but future documentation MAY require additional functionality.
   All unknown parameters SHOULD be ignored when used for mapping
   purposes but MAY be included if specifically documented.

   It should be highlighted that the examples provided in this section
   are not normative and some implementations might find that such
   strict mapping is not necessary.  The information is maintained as
   defined in the XCON data model and it is up to the conferencing
   system to implement a mechanism to logically associate the Conference
   URI with the signaling protocol specific URIs associated with a
   conference.











Boulton & Barnes        Expires September 1, 2007               [Page 7]


Internet-Draft                  XCON URI                   February 2007


5.  Conference URI Definition


   XCON-URI = "xcon" "://" [conf-object-id "@"] hostport
          *( ";" url-parameter)
                           ; hostport as defined in RFC3261

   conf-object-id = 1*( unreserved / "+" / "=" / "/" )
                           ; unreserved as defined in RFC3986
   url-parameter = token ["=" token]



6.  Conference Object Identifier Creation and Distribution

   The Conference Object Identifier is created both by the conferencing
   system based on internal actions as well as based on specific
   conference protocol requests.  As discussed in the centralized
   conference framework, there is a unique conference object identifier
   associated with each conference object.  Thus, a conferencing system
   will allocate a conferencing object identifier for every conference
   blueprint, for every conference reservation and for every active
   conference.  The distribution of the conference object identifier
   depends upon the specific use case and includes a variety of
   mechanisms, such as the through the conference control protocol
   mechanism, the data model and conference package or out of band
   mechanisms such as E-Mail.

   The conference object identifier MUST be included in any conference
   control protocol request associated with a conference reservation or
   active conference.  When a user wishes to create or join a conference
   and the user does not have the conference object identifier for the
   specific conference, more general signaling mechanisms apply, such
   that a user may have a pre-configured conference object identifier to
   access the conferencing system or other signaling protocols may be
   used and the conferencing system maps those to a specific conference
   object identifier.  Once a conference is established, a conference
   object identifier is required for the user to manipulate any of the
   conferencing data or take advantage of any of the advanced
   conferencing features.  The same notion applies to users joining a
   conference using other signaling protocols.  They are able to
   initially join a conference using any of the other signaling
   protocols supported by the specific conferencing system, but the
   conference object identifer MUST be used to manipulate any of the
   conferencing data or take advantage of any of the advanced
   conferencing features.  As mentioned previously, the mechanism by
   which the user learns of the conference object identifier varies and
   could be via the conference control protocol, using the data model



Boulton & Barnes        Expires September 1, 2007               [Page 8]


Internet-Draft                  XCON URI                   February 2007


   and conference packager or entirely out of band such as E-Mail or a
   web interface.


7.  Security Considerations

   The security considerations for the conference object URI are related
   to those identifed in the centralized conferencing framework.
   Through conference control protocol signaling, the conference object
   URI is used to access the data associated with a specific conference
   within a conferencing system.  Using the conference object URI and
   the signaling protocol, a user can perform perform actions on the
   conferencing system to invoke specific capabilities.  The
   implementation must ensure that only authorized entities are able to
   manipulate the data to access the capabilities.


8.  IANA Considerations

   To be completed.


9.  Acknowledgments

   This document was initially created from content based upon details
   in the XCON FW document that were deemed out of scope for a framework
   document.  The authors would like to thank Oscar Novo, Roni Even,
   Srivatsa Srinivasan and Lorenzo Miniero for their feeback on this
   document.


10.  References

10.1.  Normative References

   [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", BCP 14, RFC 2119, March 1997.

10.2.  Informative References

   [2]  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.

   [3]  Barnes, M., "A Framework and Data Model for Centralized
        Conferencing", draft-ietf-xcon-framework-07 (work in progress),
        January 2007.




Boulton & Barnes        Expires September 1, 2007               [Page 9]


Internet-Draft                  XCON URI                   February 2007


   [4]  Camarillo, G., Ott, J., and K. Drage, "The Binary Floor Control
        Protocol (BFCP)", RFC 4582, November 2006.

   [5]  Camarillo, G., "Session Description Protocol (SDP) Format for
        Binary Floor Control Protocol (BFCP) Streams", RFC 4583,
        November 2006.


Authors' Addresses

   Chris Boulton
   Ubiquity Software Corporation
   Building 3
   Wern Fawr Lane
   St Mellons
   Cardiff, South Wales  CF3 5EA

   Email: cboulton@ubiquitysoftware.com


   Mary Barnes
   Nortel
   2201 Lakeside Blvd
   Richardson, TX

   Email: mary.barnes@nortel.com

























Boulton & Barnes        Expires September 1, 2007              [Page 10]


Internet-Draft                  XCON URI                   February 2007


Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





Boulton & Barnes        Expires September 1, 2007              [Page 11]