draft-ietf-sipping-uri-list-conferencing-00.txt   draft-ietf-sipping-uri-list-conferencing-01.txt 
SIPPING Working Group G. Camarillo SIPPING Working Group G. Camarillo
Internet-Draft Ericsson Internet-Draft Ericsson
Expires: January 5, 2005 A. Johnston Expires: March 24, 2005 A. Johnston
MCI MCI
July 7, 2004 September 23, 2004
Conference Establishment Using Request-Contained Lists in the Session Conference Establishment Using Request-Contained Lists in the Session
Initiation Protocol (SIP) Initiation Protocol (SIP)
draft-ietf-sipping-uri-list-conferencing-00.txt draft-ietf-sipping-uri-list-conferencing-01.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, I certify that any applicable This document is an Internet-Draft and is subject to all provisions
patent or other IPR claims of which I am aware have been disclosed, of section 3 of RFC 3667. By submitting this Internet-Draft, each
and any of which I become aware will be disclosed, in accordance with 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 become aware will be disclosed, in accordance with
RFC 3668. RFC 3668.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other Task Force (IETF), its areas, and its working groups. Note that
groups may also distribute working documents as Internet-Drafts. other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http:// The list of current Internet-Drafts can be accessed at
www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 5, 2005. This Internet-Draft will expire on March 24, 2005.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2004).
Abstract Abstract
This document describes how to create a conference using SIP URI-list This document describes how to create a conference using SIP URI-list
services. In particular, we describe a mechanism that allows a client services. In particular, we describe a mechanism that allows a
to provide a conference server with the initial list of participants client to provide a conference server with the initial list of
using an INVITE-contained URI-list. participants using an INVITE-contained URI-list.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Providing a Conference Server with a URI-List . . . . . . . . 3 3. Providing a Conference Server with a URI-List . . . . . . . . 3
4. URI List Format . . . . . . . . . . . . . . . . . . . . . . . 3 4. URI List Format . . . . . . . . . . . . . . . . . . . . . . . 3
5. Conference Server Behavior . . . . . . . . . . . . . . . . . . 4 5. Conference Server Behavior . . . . . . . . . . . . . . . . . . 4
6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6
8. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 6 8. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
9.1 Normative References . . . . . . . . . . . . . . . . . . . . 6 9.1 Normative References . . . . . . . . . . . . . . . . . . . . 7
9.2 Informational References . . . . . . . . . . . . . . . . . . 6 9.2 Informational References . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 7
Intellectual Property and Copyright Statements . . . . . . . . 8 Intellectual Property and Copyright Statements . . . . . . . . 9
1. Introduction 1. Introduction
Section 4.5 of [3] describes how to create a conference using ad-hoc Section 4.5 of [3] describes how to create a conference using ad-hoc
SIP [2] methods. The client sends an INVITE request to a conference SIP [2] methods. The client sends an INVITE request to a conference
factory URI, and receives the actual conference URI, which contains factory URI, and receives the actual conference URI, which contains
the "IsFocus" feature tag, in the Contact header field of a response the "isfocus" feature tag, in the Contact header field of a response
(typically a 200 OK). (typically a 200 OK).
Once the client obtains the conference URI, it can add participants Once the client obtains the conference URI, it can add participants
to the newly created conference in several ways, which are described to the newly created conference in several ways, which are described
in [3]. in [3].
Some environments have tough requirements regarding conference Some environments have tough requirements regarding conference
establishment time. So, they require the client to be able to request establishment time. So, they require the client to be able to
the creation of an ad-hoc conference and to provide the server with request the creation of an ad-hoc conference and to provide the
the initial set of participants in a single operation. This document server with the initial set of participants in a single operation.
describes how to meet this requirement using the mechanism to This document describes how to meet this requirement using the
transport URI lists in SIP messages described in [4]. mechanism to transport URI lists in SIP messages described in [4].
2. Terminology 2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in BCP 14, RFC 2119 [1] and indicate requirement levels for described in BCP 14, RFC 2119 [1] and indicate requirement levels for
compliant implementations. compliant implementations.
3. Providing a Conference Server with a URI-List 3. Providing a Conference Server with a URI-List
A client that wants to include the set of initial participants in its A client that wants to include the set of initial participants in its
initial INVITE to create an ad-hoc conference, adds a body whose initial INVITE to create an ad-hoc conference, adds a body whose
disposition type is uri-list, as defined in [4], with a URI list that disposition type is recipient-list, as defined in [4], with a URI
contains the participants that the client wants the server to INVITE. list that contains the participants that the client wants the server
The client sends this INVITE to the conference factory URI. to INVITE. The client sends this INVITE to the conference factory
URI.
4. URI List Format 4. URI List Format
As described in [4], the default format for URI lists in SIP is the As described in [4], specifications of individual URI-list services,
XCAP resource list format [5]. Still, specific services need to like the conferencing service described here, need to specify a
describe which information clients should include in their URI lists, default format for recipient-list bodies used within the particular
as described in [4]. service.
Conferencing UAs SHOULD use flat lists (i.e., no hierarchical lists), The default format for recipient-list bodies for conferencing UAs
SHOULD NOT use any entry's attributes but "uri", and SHOULD NOT (User Agents) and servers is the resource list format defined in [5].
include any elements inside entries but "display-name" elements. So, conferencing UAs and servers handling recipient-list bodies MUST
support this format and MAY support other formats.
A conference factory application receiving a URI list with more Nevertheless, the Extensible Markup Language (XML) Configuration
information than what we have just described SHOULD discard all the Access Protocol (XCAP) resource list document provides features, such
as hierarchical lists and the ability to include entries by reference
relative to the XCAP root URI, that are not needed by the
conferencing service defined in this document, which only needs to
transfer a flat list of URIs between a UA and the conference server.
Therefore, when using the default resource list document,
conferencing UAs SHOULD use flat lists (i.e., no hierarchical lists)
and SHOULD NOT use <entry-ref> elements.
A conference factory application receiving a URI-list with more
information than what has just been described MAY discard all the
extra information. extra information.
Figure 1 shows an example of a flat list that follows the resource
list document.
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<list>
<entry uri="sip:bill@example.com" />
<entry uri="sip:joe@example.org" />
<entry uri="sip:ted@example.net" />
</list>
</resource-lists>
Figure 1: URI List
5. Conference Server Behavior 5. Conference Server Behavior
On reception of an INVITE with a uri-list body as described in On reception of an INVITE with a recipient-list body as described in
Section 3, a conference server MUST follow the rules described in [3] Section 3, a conference server MUST follow the rules described in [3]
to create ad-hoc conferences. Once the ad-hoc conference is created, to create ad-hoc conferences. Once the ad-hoc conference is created,
the conference server SHOULD attempt to add the participants in the the conference server SHOULD attempt to add the participants in the
URI list to the conference as if their addition had been requested URI list to the conference as if their addition had been requested
using any of the methods described in [3] (e.g., using CPCP [7]). using any of the methods described in [3] (e.g., using CPCP [6]).
Once the conference server has created the ad-hoc conference and has Once the conference server has created the ad-hoc conference and has
attempted to add the initial set of participants, the conference attempted to add the initial set of participants, the conference
server behaves as a regular conference server and MUST follow the server behaves as a regular conference server and MUST follow the
rules in [3]. rules in [3].
Note that the status code in the response to the INVITE does not Note that the status code in the response to the INVITE does not
provide any information about whether or not the conference server provide any information about whether or not the conference server
was able to bring the users in the URI-list into the conference. That was able to bring the users in the URI-list into the conference.
is, a 200 (OK) means that the conference was created successfully,
that the client that generated the INVITE is in the conference, and That is, a 200 (OK) means that the conference was created
that the server understood the URI list. If the client wishes to successfully, that the client that generated the INVITE is in the
obtain information about the status of other users in the conference conference, and that the server understood the URI-list. If the
it SHOULD use general conference mechanisms, such as the conference client wishes to obtain information about the status of other users
package [8]. in the conference it SHOULD use general conference mechanisms, such
as the conference package [7].
6. Example 6. Example
The following is an example of an INVITE request, which carries a URI The following is an example of an INVITE request, which carries a URI
list in a uri-list body, sent by a UA to a conference factory list in a recipient-list body part, sent by a UA to a conference
application. factory application. Note that since the INVITE carries an SDP
description as well, it contains a multipart body.
INVITE sip:conf-fact@example.com SIP/2.0 INVITE sip:conf-fact@example.com SIP/2.0
Via: SIP/2.0/TCP client.chicago.example.com Via: SIP/2.0/TCP client.chicago.example.com
;branch=z9hG4bKhjhs8ass83 ;branch=z9hG4bKhjhs8ass83
Max-Forwards: 70 Max-Forwards: 70
To: Conf Factory <sip:conf-fact@example.com> To: Conf Factory <sip:conf-fact@example.com>
From: Carol <sip:carol@chicago.example.com>;tag=32331 From: Carol <sip:carol@chicago.example.com>;tag=32331
Call-ID: d432fa84b4c76e66710 Call-ID: d432fa84b4c76e66710
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:carol@client.chicago.example.com> Contact: <sip:carol@client.chicago.example.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
SUBSCRIBE, NOTIFY SUBSCRIBE, NOTIFY
Allow-Events: dialog Allow-Events: dialog
Accept: application/sdp, message/sipfrag, Accept: application/sdp, message/sipfrag
Conten-Type: multipart/mixed;boundary="boundary1" Conten-Type: multipart/mixed;boundary="boundary1"
Content-Length: 635 Content-Length: 690
--boundary1 --boundary1
Content-Type: application/sdp Content-Type: application/sdp
v=0 v=0
o=carol 2890844526 2890842807 IN IP4 chicago.example.com o=carol 2890844526 2890842807 IN IP4 chicago.example.com
s=Example Subject s=-
c=IN IP4 192.0.2.1 c=IN IP4 192.0.2.1
t=0 0 t=0 0
m=audio 20000 RTP/AVP 0 m=audio 20000 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
m=video 20002 RTP/AVP 31 m=video 20002 RTP/AVP 31
a=rtpmap:31 H261/90000 a=rtpmap:31 H261/90000
--boundary1 --boundary1
Content-Type: application/resource-lists+xml Content-Type: application/resource-lists+xml
Content-Disposition: uri-list Content-Disposition: recipient-list
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<list> <list>
<entry uri="sip:bill@example.com" /> <entry uri="sip:bill@example.com" />
<entry uri="sip:joe@example.org" /> <entry uri="sip:joe@example.org" />
<entry uri="sip:ted@example.net" /> <entry uri="sip:ted@example.net" />
</list> </list>
</resource-lists> </resource-lists>
--boundary1-- --boundary1--
Figure 1: INVITE request Figure 2: INVITE request
7. Security Considerations 7. Security Considerations
This document discusses setup of SIP conferences using a This document discusses setup of SIP conferences using a
request-contained URI-list. Both conferencing and URI-lists services request-contained URI-list. Both conferencing and URI-lists services
have specific security requirements which will be summarized here. have specific security requirements which will be summarized here.
Conferences generally have authorization rules about who may or may Conferences generally have authorization rules about who may or may
not join a conference, what type of media may or may not be used, not join a conference, what type of media may or may not be used,
etc. This information is used by the focus to admit or deny etc. This information is used by the focus to admit or deny
participation in a conference. It is RECOMMENDED that these types of participation in a conference. It is RECOMMENDED that these types of
authorization rules be used to provide security for a SIP conference. authorization rules be used to provide security for a SIP conference.
For this authorization information to be used, the focus needs to be For this authorization information to be used, the focus needs to be
able to authenticate potential participants. Normal SIP mechanisms able to authenticate potential participants. Normal SIP mechanisms
including Digest authentication and certificates can be used. These including Digest authentication and certificates can be used. These
conference specific security requirements are discussed further in conference specific security requirements are discussed further in
the requirements and framework documents. the requirements and framework documents.
For conference creation using a list, there are some additional For conference creation using a list, there are some additional
security considerations. The Security Considerations Section of the security considerations. The Framework and Security Considerations
Requirements and Framework for SIP URI-List Services [6] discusses for SIP URI-List Services [4] discusses issues related to SIP
issues related to SIP URI-list services. Given that a conference URI-list services. Given that a conference server sending INVITEs to
server sending INVITEs to a set of users acts as an URI-list service, a set of users acts as an URI-list service, implementations of
implementations of conference servers that handle lists MUST follow conference servers that handle lists MUST follow the security-related
the security-related rules in [6]. These rules include mandatory rules in [4]. These rules include mandatory authentication and
authentication and authorization of clients, and opt-in lists. authorization of clients, and opt-in lists.
8. Acknowledges 8. Acknowledges
Cullen Jennings provided useful comments on this document. Cullen Jennings, Hisham Khartabil, and Jonathan Rosenberg provided
useful comments on this document.
9. References 9. References
9.1 Normative References 9.1 Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
[2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., [2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, June 2002. Session Initiation Protocol", RFC 3261, June 2002.
[3] Johnston, A. and O. Levin, "Session Initiation Protocol Call [3] Johnston, A. and O. Levin, "Session Initiation Protocol Call
Control - Conferencing for User Agents", Control - Conferencing for User Agents",
draft-ietf-sipping-cc-conferencing-03 (work in progress), draft-ietf-sipping-cc-conferencing-04 (work in progress), July
February 2004.
[4] Camarillo, G., "Providing a Session Initiation Protocol (SIP)
Application Server with a List of URIs",
draft-camarillo-sipping-uri-list-01 (work in progress), February
2004. 2004.
[5] Rosenberg, J., "An Extensible Markup Language (XML) [4] Camarillo, G., "Requirements and Framework for Session
Configuration Access Protocol (XCAP) Usage for Presence Lists", Initiation Protocol (SIP)Uniform Resource Identifier (URI)-List
draft-ietf-simple-xcap-list-usage-02 (work in progress), Services", draft-ietf-sipping-uri-services-00 (work in
February 2004. progress), July 2004.
[6] Camarillo, G., "Requirements for Session Initiation Protocol [5] Rosenberg, J., "Extensible Markup Language (XML) Formats for
(SIP) Exploder Invocation", draft-camarillo-sipping-exploders-02 Representing Resource Lists",
(work in progress), February 2004. draft-ietf-simple-xcap-list-usage-03 (work in progress), July
2004.
9.2 Informational References 9.2 Informational References
[7] Koskelainen, P. and H. Khartabil, "An Extensible Markup Language [6] Koskelainen, P. and H. Khartabil, "An Extensible Markup Language
(XML) Configuration Access Protocol (XCAP) Usage for Conference (XML) Configuration Access Protocol (XCAP) Usage for Conference
Policy Manipulation", draft-koskelainen-xcon-xcap-cpcp-usage-02 Policy Manipulation", draft-koskelainen-xcon-xcap-cpcp-usage-02
(work in progress), February 2004. (work in progress), February 2004.
[8] Rosenberg, J. and H. Schulzrinne, "A Session Initiation Protocol [7] Rosenberg, J. and H. Schulzrinne, "A Session Initiation Protocol
(SIP) Event Package for Conference State", (SIP) Event Package for Conference State",
draft-ietf-sipping-conference-package-03 (work in progress), draft-ietf-sipping-conference-package-05 (work in progress),
February 2004. July 2004.
Authors' Addresses Authors' Addresses
Gonzalo Camarillo Gonzalo Camarillo
Ericsson Ericsson
Hirsalantie 11 Hirsalantie 11
Jorvas 02420 Jorvas 02420
Finland Finland
EMail: Gonzalo.Camarillo@ericsson.com EMail: Gonzalo.Camarillo@ericsson.com
skipping to change at page 8, line 13 skipping to change at page 9, line 13
EMail: alan.johnston@mci.com EMail: alan.johnston@mci.com
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the IETF's procedures with respect to rights in IETF Documents can on the procedures with respect to rights in RFC documents can be
be found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an 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 attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/