draft-ietf-sipping-uri-list-conferencing-02.txt   draft-ietf-sipping-uri-list-conferencing-03.txt 
SIPPING Working Group G. Camarillo SIPPING Working Group G. Camarillo
Internet-Draft Ericsson Internet-Draft Ericsson
Expires: May 28, 2005 A. Johnston Expires: October 10, 2004 A. Johnston
MCI MCI
November 27, 2004 April 8, 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-02.txt draft-ietf-sipping-uri-list-conferencing-03.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is subject to all provisions By submitting this Internet-Draft, each author represents that any
of section 3 of RFC 3667. By submitting this Internet-Draft, each applicable patent or other IPR claims of which he or she is aware
author represents that any applicable patent or other IPR claims of have been or will be disclosed, and any of which he or she becomes
which he or she is aware have been or will be disclosed, and any of aware will be disclosed, in accordance with Section 6 of BCP 79.
which he or she become aware will be disclosed, in accordance with
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 Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as Internet-
Internet-Drafts. 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 The list of current Internet-Drafts can be accessed at
http://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 May 28, 2005. This Internet-Draft will expire on October 10, 2004.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). 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 services. In particular, it describes a mechanism that allows a
client to provide a conference server with the initial list of client to provide a conference server with the initial list of
participants 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. Re-INVITEs . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. Re-INVITEs . . . . . . . . . . . . . . . . . . . . . . . . . 5
7. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 7. Option-tag . . . . . . . . . . . . . . . . . . . . . . . . . 5
8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 8. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 6
9. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . 8
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . 8
10.1 Normative References . . . . . . . . . . . . . . . . . . . . 7 11. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . 8
10.2 Informational References . . . . . . . . . . . . . . . . . . 8 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 8 12.1 Normative References . . . . . . . . . . . . . . . . . . 8
Intellectual Property and Copyright Statements . . . . . . . . 9 12.2 Informational References . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 9
Intellectual Property and Copyright Statements . . . . . . . 10
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 establishment time. They require the client to be able to request
request the creation of an ad-hoc conference and to provide the the creation of an ad-hoc conference and to provide the server with
server with the initial set of participants in a single operation. the initial set of participants in a single operation. This document
This document describes how to meet this requirement using the describes how to meet this requirement using the mechanism to
mechanism to transport URI lists in SIP messages described in [4]. 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 recipient-list, as defined in [4], with a disposition type is recipient-list, as defined in [4], with a URI-
URI-list that contains the participants that the client wants the list that contains the participants that the client wants the server
server to INVITE. The client sends this INVITE to the conference to INVITE. The client sends this INVITE to the conference factory
factory URI. URI.
4. URI List Format 4. URI-List Format
As described in [4], specifications of individual URI-list services, As described in [4], specifications of individual URI-list services,
like the conferencing service described here, need to specify a like the conferencing service described here, need to specify a
default format for recipient-list bodies used within the particular default format for recipient-list bodies used within the particular
service. service.
The default format for recipient-list bodies for conferencing UAs The default format for recipient-list bodies for conferencing UAs
(User Agents) and servers is the resource list format defined in [5]. (User Agents) and servers is the resource list format defined in [5].
So, conferencing UAs and servers handling recipient-list bodies MUST So, conferencing UAs and servers handling recipient-list bodies MUST
support this format and MAY support other formats. support this format and MAY support other formats.
skipping to change at page 4, line 32 skipping to change at page 4, line 32
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists" <resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 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>
Figure 1: URI List Figure 1: URI-List
5. Conference Server Behavior 5. Conference Server Behavior
On reception of an INVITE with a recipient-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 [6]). using any of the methods described in [3].
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. was able to bring the users in the URI-list into the conference.
That is, a 200 (OK) means that the conference was created That is, a 200 (OK) means that the conference was created
successfully, that the client that generated the INVITE is in the successfully, that the client that generated the INVITE is in the
conference, and that the server understood the URI-list. If the conference, and that the server understood the URI-list. If the
client wishes to obtain information about the status of other users client wishes to obtain information about the status of other users
in the conference it SHOULD use general conference mechanisms, such in the conference it SHOULD use general conference mechanisms, such
as the conference package [7]. as the conference package [6].
6. Re-INVITEs 6. Re-INVITEs
The previous Sections have specified how to include a URI-list in an The previous Sections have specified how to include a URI-list in an
initial INVITE request to a conference server. Once the initial INVITE request to a conference server. Once the INVITE-
INVITE-initiated dialog between the client and the conference server initiated dialog between the client and the conference server has
has been established, the client may need to send subsequent INVITE been established, the client may need to send subsequent INVITE
requests (typically referred to as re-INVITEs) to the conference requests (typically referred to as re-INVITEs) to the conference
server to, for example, modify the characteristics of the media server to, for example, modify the characteristics of the media
exchanged with the server. exchanged with the server.
At this point, there are no semantics associated with resource-list At this point, there are no semantics associated with resource-list
bodies in re-INVITEs (although future extensions may define them). bodies in re-INVITEs (although future extensions may define them).
Therefore, clients SHOULD NOT include resource-list bodies in Therefore, clients SHOULD NOT include resource-list bodies in re-
re-INVITEs sent to a conference server. INVITEs sent to a conference server.
A conference server receiving a re-INVITE with a resource-list body, A conference server receiving a re-INVITE with a resource-list body,
following standard SIP procedures, rejects it with a 415 (Unsupported following standard SIP procedures, rejects it with a 415 (Unsupported
Media Type) response. Media Type) response.
Note that a difference between an initial INVITE request and a Note that a difference between an initial INVITE request and a re-
re-INVITE is that while the initial INVITE is sent to the INVITE is that while the initial INVITE is sent to the conference
conference factory URI, the re-INVITE is sent to the URI provided factory URI, the re-INVITE is sent to the URI provided by the
by the server in a Contact header field when the dialog was server in a Contact header field when the dialog was established.
established. Therefore, from the client's point of view, the Therefore, from the client's point of view, the resource
resource identified by the former URI supports recipient-list identified by the former URI supports recipient-list bodies while
bodies while the resource identified by the latter does not the resource identified by the latter does not support them.
support them.
7. Example 7. Option-tag
The following is an example of an INVITE request, which carries a URI This document defines the 'recipient-list-invite' option-tag for use
list in a recipient-list body part, sent by a UA to a conference in the Require and Supported SIP header fields.
User agent clients generating an INVITE with a recipient-list body,
as described in previous sections, MUST include this option-tag in a
Require header field. User agents that are able to receive and
process INVITEs with a recipient-list body, as described in previous
sections, SHOULD include this option-tag in a Supported header field
when responding to OPTIONS requests.
Note that according to Section 6, requests and responses coming
from the URI of an ongoing conference would not carry this option-
tag in a Supported header field. This is because the resource
identified by the conference URI does not actually support this
extension. On the other hand, the resource identified by the
conference factory URI does support this extension and,
consequently, would include this option-tag in, for example,
responses to OPTIONS requests.
8. Example
The following is an example of an INVITE request, which carries a
URI-list in a recipient-list body part, sent by a UA to a conference
factory application. Note that since the INVITE carries an SDP factory application. Note that since the INVITE carries an SDP
description as well, it contains a multipart body. 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
Require: recipient-list-invite
Conten-Type: multipart/mixed;boundary="boundary1" Conten-Type: multipart/mixed;boundary="boundary1"
Content-Length: 690 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=- s=-
c=IN IP4 192.0.2.1 c=IN IP4 192.0.2.1
skipping to change at page 6, line 45 skipping to change at page 8, line 5
<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 2: INVITE request Figure 2: INVITE request
8. Security Considerations 9. Security Considerations
This document discusses setup of SIP conferences using a This document discusses setup of SIP conferences using a request-
request-contained URI-list. Both conferencing and URI-lists services contained URI-list. Both conferencing and URI-lists services have
have specific security requirements which will be summarized here. 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 Framework and Security Considerations security considerations. The Framework and Security Considerations
for SIP URI-List Services [4] discusses issues related to SIP for SIP URI-List Services [4] discusses issues related to SIP URI-
URI-list services. Given that a conference server sending INVITEs to list services. Given that a conference server sending INVITEs to a
a set of users acts as an URI-list service, implementations of set of users acts as an URI-list service, implementations of
conference servers that handle lists MUST follow the security-related conference servers that handle lists MUST follow the security-related
rules in [4]. These rules include mandatory authentication and rules in [4]. These rules include mandatory authentication and
authorization of clients, and opt-in lists. authorization of clients, and opt-in lists.
9. Acknowledges 10. IANA Considerations
This document defines the 'recipient-list-invite' SIP option-tag in
Section 7. It should be registered in the Option Tags subregistry
under the SIP parameter registry. The following is the description
to be used in the registration.
This option-tag is used to ensure that a server can process the
'recipient-list' body used in an INVITE request.
11. Acknowledges
Cullen Jennings, Hisham Khartabil, and Jonathan Rosenberg provided Cullen Jennings, Hisham Khartabil, and Jonathan Rosenberg provided
useful comments on this document. useful comments on this document.
10. References 12. References
10.1 Normative References 12.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-05 (work in progress), draft-ietf-sipping-cc-conferencing-06 (work in progress),
October 2004. November 2004.
[4] Camarillo, G., "Requirements and Framework for Session [4] Camarillo, G. and A. Roach, "Requirements and Framework for
Initiation Protocol (SIP)Uniform Resource Identifier (URI)-List Session Initiation Protocol (SIP)Uniform Resource Identifier
Services", draft-ietf-sipping-uri-services-01 (work in (URI)-List Services", draft-ietf-sipping-uri-services-02 (work
progress), October 2004. in progress), December 2004.
[5] Rosenberg, J., "Extensible Markup Language (XML) Formats for [5] Rosenberg, J., "Extensible Markup Language (XML) Formats for
Representing Resource Lists", Representing Resource Lists",
draft-ietf-simple-xcap-list-usage-04 (work in progress), October draft-ietf-simple-xcap-list-usage-05 (work in progress),
2004. February 2005.
10.2 Informational References
[6] Koskelainen, P. and H. Khartabil, "An Extensible Markup Language 12.2 Informational References
(XML) Configuration Access Protocol (XCAP) Usage for Conference
Policy Manipulation", draft-koskelainen-xcon-xcap-cpcp-usage-02
(work in progress), February 2004.
[7] Rosenberg, J. and H. Schulzrinne, "A Session Initiation Protocol [6] Rosenberg, J., "A Session Initiation Protocol (SIP) Event
(SIP) Event Package for Conference State", Package for Conference State",
draft-ietf-sipping-conference-package-06 (work in progress), draft-ietf-sipping-conference-package-10 (work in progress),
October 2004. March 2005.
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
Alan Johnston Alan Johnston
MCI MCI
100 South 4th Street 100 South 4th Street
St. Louis, MO 63102 St. Louis, MO 63102
USA USA
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 procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
 End of changes. 

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