One document matched: draft-boulton-xcon-session-chat-02.txt
Differences from draft-boulton-xcon-session-chat-01.txt
XCON Working Group C. Boulton
Internet-Draft Avaya
Intended status: Standards Track M. Barnes
Expires: May 3, 2009 Nortel
October 30, 2008
Instant Messaging Sessions within a Centralized Conferencing (XCON)
System
draft-boulton-xcon-session-chat-02
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 May 3, 2009.
Abstract
The document "A Framework for Centralized Conferencing" defines a
centralized conference as both signaling and protocol agnostic. The
primary examples within this framework focus on audio and video as
the media types for the session. This document provides an overview
of the mechanisms defined in the centralized conferencing framework
that can be used to support Instant Messaging (IM) chat sessions. In
addition, the document describes additional functionality and
requirements necessary to provide feature rich chat functionality.
Boulton & Barnes Expires May 3, 2009 [Page 1]
Internet-Draft XCON Chat October 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions and Terminology . . . . . . . . . . . . . . . . . 3
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Protocol Operations . . . . . . . . . . . . . . . . . . . 5
3.2. IM and Conferencing Identifiers . . . . . . . . . . . . 5
4. Basic Operations . . . . . . . . . . . . . . . . . . . . . . . 8
5. Advanced Operations . . . . . . . . . . . . . . . . . . . . . 8
6. Additional Operations . . . . . . . . . . . . . . . . . . . . 8
6.1. Nicknames . . . . . . . . . . . . . . . . . . . . . . . . 8
6.2. Logging . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.3. History . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.4. Indicating Alternate Venue . . . . . . . . . . . . . . . . 9
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10.1. Normative References . . . . . . . . . . . . . . . . . . . 10
10.2. Informative References . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12
Intellectual Property and Copyright Statements . . . . . . . . . . 13
Boulton & Barnes Expires May 3, 2009 [Page 2]
Internet-Draft XCON Chat October 2008
1. Introduction
A Centralized Conference as defined by the "A Framework for
Centralized Conferencing" [RFC5239] is both signaling and protocol
agnostic. The primary examples within the framework focus on audio
and video as the media types for the session. This document provides
an overview of the mechanisms and associated framework elements
involved when instant messages are the media for the conference.
This functionality is often referred to as a "chat room" or simply
"chat" as it provides the text equivalent of a voice conversation
involving multiple parties.
Several existing protocols support this chat functionality, such as
Internet Relay Chat (IRC) [RFC2810] and Extensible Messaging and
Presence Protocol (XMPP) [RFC3920]. In addition,
[I-D.ietf-simple-chat] provides IM chat functionality for a purely
SIP signaling based solution option using Message Session Relay
Protocol (MSRP) [RFC4975]. The focus of this document is to describe
the interface and provide guidelines for the the support of existing
IM chat functionality on a conferencing system based on the XCON
framework, independent of the specific IM media type used by the
client. The details of the use of the XCON framework for chat are
provided in the Conference Control Manipulation Protocol (CCMP) call
flow document [I-D.barnes-xcon-examples]
The functionality described in this document is not intended to
replace any of the existing chat protocols, nor is it specifying a
new IM protocol. The motivation for this document is to allow
clients that use the conferencing framework model for other media
types (e.g. voice/video) to utilize the same conference control
mechanisms and conferencing system to establish, update and delete a
conference instance associated with an IM chat session, independent
of the IM chat protocol. In some cases(e.g., MSRP chat), this would
provide additional capabilities, such as sidebars. While this
approach also allows the conferencing system to provide a natural
interworking point for various IM protocols, the details of the
interworking are outside the scope of this document.
2. Conventions and Terminology
This document reuses the terminology defined in "A Framework for
Centralized Conferencing" and the protocol operations defined in the
Centralized Conferencing Protocol document [I-D.ietf-xcon-ccmp].
Boulton & Barnes Expires May 3, 2009 [Page 3]
Internet-Draft XCON Chat October 2008
3. Overview
Figure 1 provides a general illustration of IM clients having a
direct, 1:1 connection to the conferencing system. The conferencing
system receives IMs sent from a client participating in a conference
instance and then distributes them to the other IM sessions
associated with the conference instance.
+--------+
| IM |
| Client |
| |
+--------+
|
|
|
|
|
|
v
+------------+
+--------+ | | +--------+
| IM | | | | IM |
| Client |-------------->|Conferencing|<--------------| Client |
| | | System | | |
+--------+ | | +--------+
+------------+
^
|
|
|
|
|
|
+--------+
| IM |
| Client |
| |
+--------+
Figure 1: Client Connection
The approach in this document is to have no impact on the existing IM
Boulton & Barnes Expires May 3, 2009 [Page 4]
Internet-Draft XCON Chat October 2008
protocols, while taking full advantage of the functionality provided
by the centralized conferencing framework.
A basic solution for MSRP based IM chat sessions is documented in
[I-D.ietf-simple-chat]. It uses the concept of an "MSRP switch" as
the centralized component, whose role is very similar to the MSRP
Conferencing Server in this document. The solution in
[I-D.ietf-simple-chat] doesn't explicitly take advantage of the
centralized conferencing framework model, as it primarily intends to
make use of the basic SIP conferencing framework to provide the basic
chat functionality. However, that solution approach is compatible
with the solution components described in this document, with no
impact on that basic solution proposal. One of the advantages of
applying the two solutions in concert would be a reuse of the
centralized conferencing framework model for advanced features, such
as sidebars and private conferences, and manipulation of the
conference data.
3.1. Protocol Operations
An IM client wishing to join a conference uses standardized
centralized conferencing mechanisms for creating and joining a
conference, as identified in the centralized conferencing framework
and related protocol documents.
The request to send an IM to an IM media session is specific to the
IM protocol (e.g., MSRP SEND). On issuing a request to send an IM to
an IM media session that is a member of a conference instance, the IM
will be replicated and forwarded, in the relevant context, to all
other IM media sessions that are participants of the conference
instance.
An IM client wishing to delete a chat room uses standardized
mechanisms for deleting a conference instance. Non-signaling
specific mechanisms are defined in the Centralized Conferencing
Framework [RFC5239] and related protocol document
[I-D.ietf-xcon-ccmp]. Protocol specific mechanisms are defined in
other documents such as for SIP in the SIPPING Conference Framework
[RFC4353].
3.2. IM and Conferencing Identifiers
As highlighted in the overview section, an IM client connecting to a
conferencing system has a 1:1 relationship with the IM signaling
entity, each having a unique protocol specific session ID. When
referring to IM session ID's the document is making reference to the
locally (at conferencing system) generated session ID used for IM
session signaling identification. In the case of MSRP, this session
Boulton & Barnes Expires May 3, 2009 [Page 5]
Internet-Draft XCON Chat October 2008
ID is inserted into the local path SDP attribute. An important
concept in this proposal is the creation and management of IM
sessions. It is important that each IM session created, as
identified by a unique IM session ID, is explicitly tied to an
associated conference, represented by the conference identifier (as
defined in the Centralized Conferencing Framework [RFC5239]). This
provides the relevant association between IM session and a
centralized conference. A generic example representation is
illustrated by the rows contained in Figure 2.
+-----------------------------------------+
| Conference Identifier |
+-----------------------------------------+
| IM Session ID=8asjdhk |
| IM Session ID=38iuhds |
| IM Session ID=djiowid |
| IM Session ID=389hewu |
+-----------------------------------------+
Figure 2: Simple Session Association
The Centralized Conferencing Framework[RFC5239] introduces the
concept of a conference user identifier defined in
[I-D.ietf-xcon-common-data-model]. When a user joins a conference
instance through the signaling protocol, it is allocated an
appropriate conference user identifer either through authentication
or system allocation. The conference user identifer MUST be used in
conjunction with an IM session identifier to internally represent a
participant in a conference instance. Figure 2 is then expanded to
look like Figure 3. Again a row in the table representing a single
entry.
+--------------------------------------------------------------+
| Conference Identifier |
+--------------------------------+-----------------------------+
| IM Session ID=8asjdhk | Conf User ID=839ULjj |
| IM Session ID=38iuhds | Conf User ID=0283hHu |
| IM Session ID=djiowid | Conf User ID=ncH37H |
| IM Session ID=389hewu | Conf User ID=pakdjjH |
+--------------------------------+-----------------------------+
Boulton & Barnes Expires May 3, 2009 [Page 6]
Internet-Draft XCON Chat October 2008
Figure 3: Advanced Session Association
A more complex session association is necessary due to potential for
a user to have multiple IM sessions in a single conference instance,
such as multi-lingual conference support. In an example with SIP and
MSRP, the conference representation in Figure 3 allows for such
functionality when separate SIP dialogs represent MSRP sessions.
This process becomes complex when multiple SDP MSRP media sessions
(m=) are defined in a single payload. This internal representation
now needs expanding to enable a conferencing system to explicitly
associate a media session (m=). This involves including the media
label, as defined in [RFC4574], to maintain the internal conference
association. An example is illustrated in Figure 4.
+-----------------------------------------------------------------+
| Conference Identifier |
+-----------------------------------------------------------------+
| MSRP Session ID=8asjdhk | Conf User ID=839ULjj | Label=iede3 |
| MSRP Session ID=38iuhds | Conf User ID=0283hHu | Label=8heus |
| MSRP Session ID=838unaH | Conf User ID=0283hHu | Label=3cnu7 |
| MSRP Session ID=djiowid | Conf User ID=ncH37Hs | Label=jd38J |
| MSRP Session ID=389hewu | Conf User ID=pakdj7H | Label=U83hd |
| MSRP Session ID=Ko03jdk | Conf User ID=pakdj7H | Label=ehy3h |
+-----------------------------------------------------------------+
Figure 4: Advanced Session Association + Media Label
In Figure 4, conference user identifiers '0283hHu' and 'pakdj7H'
appear twice. The combination of multiple conference user
identifiers and a unique MSRP session ID enables the conference
system to clearly identify a specific MSRP instance. The
representation also includes the media label, as defined in
[RFC4574],for identification purposes. This added property, which is
extracted from the SDP media line, enables clear identification when
multi SDP media (m=) lines appear in the same SDP payload.
A client MUST include the media label attribute defined in [RFC4574]
when including multiple MSRP sessions in the same SDP payload. Even
in the simplest conferencing system, where users are allowed to enter
anonymously, the internal representation described in this section
should be observed. In this case, the conferencing system would
still internally create a conference user identifier for participant
reference purposes.
Boulton & Barnes Expires May 3, 2009 [Page 7]
Internet-Draft XCON Chat October 2008
4. Basic Operations
The basic operations for creating, joining, and deleting a chat based
conference are all supported by the XCON framework using CCMP. The
discovery of chat rooms available on a specific conferencing system
is inherent in the blueprint capability provided by the conferencing
system. The protocol details for these basic operations are provided
in [I-D.barnes-xcon-examples].
5. Advanced Operations
Advanced chat features, such as sidebars and private messages can
also be suppported within the context of the centralized conferencing
framework using CCMP. The protocol details for these advanced
features are provided in [I-D.barnes-xcon-examples].
6. Additional Operations
This section discusses additional operations or features required to
provide chat room functionality. Most of the operations are not
explicitly specified in the centralized conferencing framework.
However, some of the features and operations are achievable using
data maintained by a conferencing system based on the framework.
6.1. Nicknames
Nicknames allow a user to define a text string that uniquely
identifies the user within a particular chatroom without necessarily
reflecting any protocol specific identity (e.g., SIP URI, Conference
User Indentifier, etc.). It is also important to note that the
functionality to provide nicknames is not limited to users involved
in chatrooms, thus it should be a general feature of the conferencing
system. However, the mechanism to allow a user to negotiate a
nickname with a conferencing system is additional functionality
beyond the centralized conferencing framework, and thus is described
in [ref:TBD].
Within a conferencing system, all nicknames should map to a
conference user identifier. There may be multiple nicknames
associated with a single conference user identifier (e.g., a user
that has different nicknames for different chat rooms and/or voice/
video conferences).
Boulton & Barnes Expires May 3, 2009 [Page 8]
Internet-Draft XCON Chat October 2008
6.2. Logging
A common chat feature involves logging the history of a chat room.
This provides a record of a chat room that can be used when a user
first joins a chat room as discussed in Section 6.3. It can also be
used to provide a complete capture of a specific chat room session.
The centralized conferencing framework does not fully describe the
role of recording or logging of active conferences. However, this
functionality can be realized with the manipulation of the
appropriate elements in the data model using the general conference
control protocol operations. One approach for implementing this
function would be to have it be based on specific manipulation of the
conference by a user with the appropriate permissions (e.g., CHANGE
operation to start and stop recording). Another mechanism for
implementing this function would be to have a specific user as part
of the conference to perform this function, by defining a specific
role such as "observer" and having the media proxied to a logging
device.
6.3. History
A common chat feature allows users to view the past history of chat
rooms. This operation is common when a user first joins a chat room
that is underway. A user is often offered the option to review a
specific number of past messages. Conferencing systems that maintain
the history associated with specific chat rooms through logging, as
described in Section 6.2, should provide a mechanism, using the
conference identifier, to access the specific information requested
by a user based on a specific timestamp. The user request for the
information and the rendering of the information is specific to the
user's session based messaging protocol and may not be supported by
all the messaging protocols.
6.4. Indicating Alternate Venue
Another chat room feature provides the details of an alternate chat
room venue for previously active chat rooms that have been closed,
with a related topic. While not detailed in the centralized
conferencing framework, this functionality can be accomplished by
creating the new chat room as a child or sibling of the previous chat
room and providing the Active chat conference object identifier to
any valid users that attempt to join a previous chat room. The
information about the new chat room can also be provided at the end
of a chat room that is being de-activated at the end of the session.
Boulton & Barnes Expires May 3, 2009 [Page 9]
Internet-Draft XCON Chat October 2008
7. Security Considerations
As discussed in the Centralized Conferencing Framework, there are a
wide variety of potential attacks related to conferencing, due to the
natural involvement of multiple endpoints and the many, often user-
invoked, capabilities provided by the conferencing system. Examples
of attacks in the context of MSRP conferencing would include the
following: an endpoint attempting to receive the messages for
conferences in which it is not authorized to participate, an endpoint
attempting to disconnect other users, and theft of service, by an
endpoint, in attempting to create conferences it is not allowed to
create.
Since this document describes the use of existing protocols (e.g.
MSRP, Conference Control Protocol, SIP, etc.), it also re-uses the
security solutions for those protocols and the associated
authorization mechanisms. Since this solution makes use of the
Centralized Conferencing framework, it makes use of the policy
associated with the conference object to ensure that only authorized
entities are able to manipulate the data to access the capabilities.
This solution also makes use of the privacy and security of the
identity of a user in the conference, as discussed in the Centralized
Conferencing Framework.
8. IANA Considerations
This document requires no IANA registrations.
9. Acknowledgements
The authors appreciate the input and comments from Miguel Garcia-
Martin and Dave Morgan.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5239] Barnes, M., Boulton, C., and O. Levin, "A Framework for
Centralized Conferencing", RFC 5239, June 2008.
[I-D.ietf-xcon-common-data-model]
Novo, O., Camarillo, G., Morgan, D., Even, R., and J.
Boulton & Barnes Expires May 3, 2009 [Page 10]
Internet-Draft XCON Chat October 2008
Urpalainen, "Conference Information Data Model for
Centralized Conferencing (XCON)",
draft-ietf-xcon-common-data-model-12 (work in progress),
October 2008.
[I-D.ietf-xcon-ccmp]
Barnes, M., Boulton, C., Romano, S., and H. Schulzrinne,
"Centralized Conferencing Manipulation Protocol",
draft-ietf-xcon-ccmp-00 (work in progress), June 2008.
10.2. Informative References
[I-D.roach-xcon-chatroom-analysis]
Roach, A., "An Analysis of Feature Parity Between XCON/
SIMPLE-Based Chatrooms and Other Chatrooms",
draft-roach-xcon-chatroom-analysis-00 (work in progress),
August 2007.
[I-D.barnes-xcon-examples]
Barnes, M., Boulton, C., Miniero, L., and S. Romano,
"Centralized Conferencing Manipulation Protocol (CCMP)
Call Flow Examples", draft-barnes-xcon-examples-00 (work
in progress), July 2008.
[RFC2810] Kalt, C., "Internet Relay Chat: Architecture", RFC 2810,
April 2000.
[RFC3920] Saint-Andre, P., Ed., "Extensible Messaging and Presence
Protocol (XMPP): Core", RFC 3920, October 2004.
[RFC4353] Rosenberg, J., "A Framework for Conferencing with the
Session Initiation Protocol (SIP)", RFC 4353,
February 2006.
[RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message
Session Relay Protocol (MSRP)", RFC 4975, September 2007.
[I-D.ietf-simple-chat]
Niemi, A., Garcia-Martin, M., and G. Sandbakken, "Multi-
party Instant Message (IM) Sessions Using the Message
Session Relay Protocol (MSRP)", draft-ietf-simple-chat-02
(work in progress), February 2008.
[RFC4574] Levin, O. and G. Camarillo, "The Session Description
Protocol (SDP) Label Attribute", RFC 4574, August 2006.
[RFC4579] Johnston, A. and O. Levin, "Session Initiation Protocol
(SIP) Call Control - Conferencing for User Agents",
Boulton & Barnes Expires May 3, 2009 [Page 11]
Internet-Draft XCON Chat October 2008
BCP 119, RFC 4579, August 2006.
Authors' Addresses
Chris Boulton
Avaya
Building 3
Wern Fawr Lane
St Mellons
Cardiff, South Wales CF3 5EA
Email: cboulton@avaya.com
Mary Barnes
Nortel
2201 Lakeside Blvd
Richardson, TX
Email: mary.barnes@nortel.com
Boulton & Barnes Expires May 3, 2009 [Page 12]
Internet-Draft XCON Chat October 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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.
Boulton & Barnes Expires May 3, 2009 [Page 13]
| PAFTECH AB 2003-2026 | 2026-04-24 01:29:56 |