draft-ietf-sipping-uri-list-conferencing-04.txt   draft-ietf-sipping-uri-list-conferencing-05.txt 
SIPPING Working Group G. Camarillo SIPPING Working Group G. Camarillo
Internet-Draft Ericsson Internet-Draft Ericsson
Expires: April 24, 2006 A. Johnston Expires: August 26, 2006 A. Johnston
MCI MCI
October 21, 2005 February 22, 2006
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-04.txt draft-ietf-sipping-uri-list-conferencing-05.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
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
skipping to change at page 1, line 36 skipping to change at page 1, line 36
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 April 24, 2006. This Internet-Draft will expire on August 26, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2006).
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, it describes 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 Document . . . . . . . . . . . . . . . . . . . . . . 3
5. Conference Server Behavior . . . . . . . . . . . . . . . . . . 4 5. Conference Server Behavior . . . . . . . . . . . . . . . . . . 5
6. Re-INVITEs . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. Re-INVITEs . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7. Option-tag . . . . . . . . . . . . . . . . . . . . . . . . . . 5 7. Option-tag . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
9. Security Considerations . . . . . . . . . . . . . . . . . . . 8 9. Security Considerations . . . . . . . . . . . . . . . . . . . 11
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
11. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 8 11. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 12
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
12.1. Normative References . . . . . . . . . . . . . . . . . . 9 12.1. Normative References . . . . . . . . . . . . . . . . . . 12
12.2. Informational References . . . . . . . . . . . . . . . . 9 12.2. Informational References . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Intellectual Property and Copyright Statements . . . . . . . . . . 11 Intellectual Property and Copyright Statements . . . . . . . . . . 13
1. Introduction 1. Introduction
Section 4.5 of [3] describes how to create a conference using ad-hoc Section 4.5 of [5] describes how to create a conference using ad-hoc
SIP [2] methods. The client sends an INVITE request to a conference SIP [4] 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 [5].
Some environments have tough requirements regarding conference Some environments have tough requirements regarding conference
establishment time. They require the client to be able to request establishment time. They require the client to be able to request
the creation of an ad-hoc conference and to provide the server with the creation of an ad-hoc conference and to provide the server with
the initial set of participants in a single operation. This document the initial set of participants in a single operation. This document
describes how to meet this requirement using the mechanism to describes how to meet this requirement using the mechanism to
transport URI-lists in SIP messages described in [4]. transport URI-lists in SIP messages described in [6].
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 URI- disposition type is 'recipient-list', as defined in [6], with a URI-
list that contains the participants that the client wants the server list that contains the participants that the client wants the server
to INVITE. The client sends this INVITE to the conference factory to INVITE. The client sends this INVITE to the conference factory
URI. URI.
4. URI-List Format 4. URI-List Document
As described in [4], specifications of individual URI-list services, As described in [6], 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 XML resource list format [7]
extended with the XML Format Extension for Representing Capacity
Attributes in Resource Lists [8]. So, conferencing UACs and servers
handling 'recipient-list' bodies MUST support both of these formats
and MAY support other formats.
So, conferencing UAs and servers handling recipient-list bodies MUST As described in the XML Format Extension for Representing Capacity
support this format and MAY support other formats. Attributes in Resource Lists [8], each URI can be tagged with a
'capacity' attribute set to either "to", "cc", or "bcc", indicating
the capacity or role in which the recipient will get the INVITE
request. Additionally, URIs can be tagged with the 'anonymize'
attribute to prevent that the conference server discloses the target
URI in a URI-list.
Nevertheless, the Extensible Markup Language (XML) Configuration Additionally, the XML Format Extension for Representing Capacity
Access Protocol (XCAP) resource list document provides features, such Attributes in Resource Lists [8] defines a 'recipient-list-history'
as hierarchical lists and the ability to include entries by reference body that contains the list of recipients. The default format for
relative to the XCAP root URI, that are not needed by the 'recipient-list-history' bodies for conference services is also the
XML resource list document format [7] extended with the XML Format
Extension for Representing Capacity Attributes in Resource Lists [8].
Conferencing servers MUST support both of these formats; UASes MAY
support these formats. Both conferencing servers and UASes MAY
support other formats.
Nevertheless, the XML resource list document [7] 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 conferencing service defined in this document, which only needs to
transfer a flat list of URIs between a UA and the conference server. transfer a flat list of URIs between a UA and the conference server.
Therefore, when using the default resource list document, Therefore, when using the default resource list document,
conferencing UAs SHOULD use flat lists (i.e., no hierarchical lists) conferencing UAs SHOULD use flat lists (i.e., no hierarchical lists)
and SHOULD NOT use <entry-ref> elements. and SHOULD NOT use <entry-ref> elements.
A conference factory application receiving a URI-list with more A conference factory application receiving a URI-list with more
information than what has just been described MAY discard all the 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 Figure 1 shows an example of a flat list that follows the XML
list document. resource list document [7] extended with the XML Format Extension for
Representing Capacity Attributes in Resource Lists [8].
<?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:cp="urn:ietf:params:xml:ns:capacity">
<list> <list>
<entry uri="sip:bill@example.com" /> <entry uri="sip:bill@example.com" cp:capacity="to" />
<entry uri="sip:joe@example.org" /> <entry uri="sip:joe@example.org" cp:capacity="cc" />
<entry uri="sip:ted@example.net" /> <entry uri="sip:ted@example.net" cp:capacity="bcc" />
</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 request containing a 'recipient-list' body
Section 3, a conference server MUST follow the rules described in [3] as described in Section 3, a conference server MUST follow the rules
to create ad-hoc conferences. Once the ad-hoc conference is created, described in [5] to create ad-hoc conferences. Once the ad-hoc
the conference server SHOULD attempt to add the participants in the conference is created, the conference server SHOULD attempt to add
URI-list to the conference as if their addition had been requested the participants in the URI-list to the conference as if their
using any of the methods described in [3]. addition had been requested using any of the methods described in
[5].
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 [5].
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 [6]. as the conference package [9].
The incoming INVITE request typically contains a URI-list body or
reference [6] with the actual list of recipients. If this URI-list
includes resources tagged with the 'capacity' attribute set to a
value of "to" or "cc", the conference server SHOULD include a URI-
list in each of the outgoing INVITE requests. This list SHOULD be
formatted according to the XML format for representing resource lists
[7] and the capacity extension specified in [8]. The URI-list
service MUST follow the procedures specified in XML format for
representing resource lists [8] with respect handling of the
'anonymize', 'count' and 'capacity' attributes.
If the conference server includes a URI-list in an outgoing INVITE
request, it MUST include a Content-Disposition header field [2] with
the value set to 'recipient-list-history' and a 'handling' parameter
[3] set to "optional".
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 INVITE- initial INVITE request to a conference server. Once the INVITE-
initiated dialog between the client and the conference server has initiated dialog between the client and the conference server 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 re- Therefore, clients SHOULD NOT include resource-list bodies in re-
skipping to change at page 5, line 39 skipping to change at page 6, line 34
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 re- Note that a difference between an initial INVITE request and a re-
INVITE is that while the initial INVITE is sent to the conference INVITE is that while the initial INVITE is sent to the conference
factory URI, the re-INVITE is sent to the URI provided by the factory URI, the re-INVITE is sent to the URI provided by the
server in a Contact header field when the dialog was established. server in a Contact header field when the dialog was established.
Therefore, from the client's point of view, the resource Therefore, from the client's point of view, the resource
identified by the former URI supports recipient-list bodies while identified by the former URI supports 'recipient-list' bodies
the resource identified by the latter does not support them. while the resource identified by the latter does not support them.
7. Option-tag 7. Option-tag
This document defines the 'recipient-list-invite' option-tag for use This document defines the 'recipient-list-invite' option-tag for use
in the Require and Supported SIP header fields. in the Require and Supported SIP header fields.
User agent clients generating an INVITE with a recipient-list body, This option-tag is used to ensure that a server can process the
as described in previous sections, MUST include this option-tag in a 'recipient-list' body used in an INVITE request. It also provides
Require header field. User agents that are able to receive and a mechanism to discover the capability of the server in responses
process INVITEs with a recipient-list body, as described in previous to OPTIONS requests.
sections, SHOULD include this option-tag in a Supported header field
when responding to OPTIONS requests. User agent clients generating an INVITE request containing 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 Note that according to Section 6, requests and responses coming
from the URI of an ongoing conference would not carry this option- from the URI of an ongoing conference would not carry this option-
tag in a Supported header field. This is because the resource tag in a Supported header field. This is because the resource
identified by the conference URI does not actually support this identified by the conference URI does not actually support this
extension. On the other hand, the resource identified by the extension. On the other hand, the resource identified by the
conference factory URI does support this extension and, conference factory URI does support this extension and,
consequently, would include this option-tag in, for example, consequently, would include this option-tag in, for example,
responses to OPTIONS requests. responses to OPTIONS requests.
8. Example 8. Example
The following is an example of an INVITE request, which carries a Figure 2 shows an example of operation. A UAC sends an INVITE
URI-list in a recipient-list body part, sent by a UA to a conference request (F1) that contains an SDP body and a URI-list to the
factory application. Note that since the INVITE carries an SDP conference server. The conference server answers with a 200 (OK)
description as well, it contains a multipart body. response and generates an INVITE request to each of the URIs included
in the URI-list. The conference server includes SDP and a
manipulated URI-list in each of the outgoing INVITE requests.
+--------+ +---------+ +--------+ +--------+ +--------+
|SIP UAC | | confer. | |SIP UAS | |SIP UAS | |SIP UAS |
| | | server | | 1 | | 2 | | n |
+--------+ +---------+ +--------+ +--------+ +--------+
| | | | |
| F1. INVITE | | | |
| ---------------->| | | |
| F2. 200 OK | | | |
|<---------------- | F3. INVITE | | |
| | ------------->| | |
| | F4. INVITE | | |
| | ------------------------>| |
| | F5. INVITE | | |
| | ----------------------------------->|
| | F6. 200 OK | | |
| |<------------- | | |
| | F7. 200 OK | | |
| |<------------------------ | |
| | F8. 200 OK | | |
| |<----------------------------------- |
| | | | |
| | | | |
| | | | |
Figure 2: Example of operation
Figure 3 shows an example of the INVITE request F1, which carries a
multipart/mixed body composed of two other bodies: an application/sdp
body that describes the session and an application/resource-lists+xml
body that contains the list of target URIs.
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 atlanta.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: Alice <sip:alice@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:alice@atlanta.example.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, Allow: INVITE, ACK, CANCEL, BYE, REFER
SUBSCRIBE, NOTIFY
Allow-Events: dialog Allow-Events: dialog
Accept: application/sdp, message/sipfrag Accept: application/sdp, message/sipfrag
Require: recipient-list-invite Require: recipient-list-invite
Conten-Type: multipart/mixed;boundary="boundary1" Content-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=alice 2890844526 2890842807 IN IP4 atlanta.example.com
s=- 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: recipient-list Content-Disposition: recipient-list
<?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:cp="urn:ietf:params:xml:ns:capacity">
<list> <list>
<entry uri="sip:bill@example.com" /> <entry uri="sip:bill@example.com" cp:capacity="to" />
<entry uri="sip:joe@example.org" /> <entry uri="sip:randy@example.net" cp:capacity="to"
<entry uri="sip:ted@example.net" /> cp:anonymize="true"/>
<entry uri="sip:eddy@example.com" cp:capacity="to"
cp:anonymize="true"/>
<entry uri="sip:joe@example.org" cp:capacity="cc" />
<entry uri="sip:carol@example.net" cp:capacity="cc"
cp:anonymize="true"/>
<entry uri="sip:ted@example.net" cp:capacity="bcc" />
<entry uri="sip:andy@example.com" cp:capacity="bcc" />
</list> </list>
</resource-lists> </resource-lists>
--boundary1-- --boundary1--
Figure 2: INVITE request Figure 3: INVITE request received at the conference server
The INVITE requests F3, F4, and F5 are similar in nature. All those
INVITE requests contain a multipart/mixed body which is composed of
two other bodies: an application/sdp body describing the session and
an application/resource-lists+xml containing the list of recipients.
The application/resource-lists+xml bodies are not equal to the
application/resource-lists+xml included in the received INVITE
request F1, because the conference server has anonymized those URIs
tagged with the 'anonymize' attribute and has removed those URIs
tagged with a "bcc" 'capacity' attribute. Figure 4 shows an example
of the message F3.
INVITE sip:bill@example.com SIP/2.0
Via: SIP/2.0/TCP conference.example.com
;branch=z9hG4bKhjhs8as454
Max-Forwards: 70
To: <sip:bill@example.com>
From: Conference Server <sip:conf34@example.com>;tag=234332
Call-ID: 389sn189dasdf
CSeq: 1 INVITE
Contact: <sip:conf34@conference.example.com>;isfocus
Allow: INVITE, ACK, CANCEL, BYE, REFER
Allow-Events: dialog, conference
Accept: application/sdp, message/sipfrag
Require: recipient-list-invite
Conten-Type: multipart/mixed;boundary="boundary1"
Content-Length: 690
--boundary1
Content-Type: application/sdp
v=0
o=conf 2890844343 2890844343 IN IP4 conference.example.com
s=-
c=IN IP4 192.0.2.5
t=0 0
m=audio 40000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
m=video 40002 RTP/AVP 31
a=rtpmap:31 H261/90000
--boundary1
Content-Type: application/resource-lists+xml
Content-Disposition: recipient-list-history; handling=optional
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"
xmlns:cp="urn:ietf:params:xml:ns:capacity">
<list>
<entry uri="sip:bill@example.com" cp:capacity="to" />
<entry uri="sip:anonymous@anonymous.invalid" cp:capacity="to"
cp:count="2"/>
<entry uri="sip:joe@example.org" cp:capacity="cc" />
<entry uri="sip:anonymous@anonymous.invalid" cp:capacity="cc"
cp:count="1"/>
</list>
</resource-lists>
--boundary1--
Figure 4: INVITE request sent by the conference server
9. Security Considerations 9. Security Considerations
This document discusses setup of SIP conferences using a request- This document discusses setup of SIP conferences using a request-
contained URI-list. Both conferencing and URI-lists services have contained URI-list. Both conferencing and URI-lists services 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 URI- for SIP URI-List Services [6] discusses issues related to SIP URI-
list services. Given that a conference server sending INVITEs to a list services. Given that a conference server sending INVITEs to 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 [6]. These rules include mandatory authentication and
authorization of clients, and opt-in lists. authorization of clients, and opt-in lists.
10. IANA Considerations 10. IANA Considerations
This document defines the 'recipient-list-invite' SIP option-tag in This document defines the 'recipient-list-invite' SIP option-tag in
Section 7. It should be registered in the Option Tags subregistry Section 7. It should be registered in the Option Tags subregistry
under the SIP parameter registry. The following is the description under the SIP parameter registry. The following is the description
to be used in the registration. 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. | Name | Description | Reference |
+------------------------+------------------------------+-----------+
| recipient-list-invite | The body contains a list of | [RFCXXXX] |
| | URIs that indicates the | |
| | recipients of the SIP INVITE | |
| | request | |
+------------------------+------------------------------+-----------+
Table 1: Registration of the 'recipient-list-invite' Option-Tag in
SIP
Note to IANA and the RFC editor: replace RFCXXXX above with the RFC
number of this specification.
11. Acknowledges 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. Miguel Garcia-Martin assembled the
dependencies to the 'capacity' attribute extension.
12. References 12. References
12.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] Troost, R., Dorner, S., and K. Moore, "Communicating
Presentation Information in Internet Messages: The Content-
Disposition Header Field", RFC 2183, August 1997.
[3] Zimmerer, E., Peterson, J., Vemuri, A., Ong, L., Audet, F.,
Watson, M., and M. Zonoun, "MIME media types for ISUP and QSIG
Objects", RFC 3204, December 2001.
[4] 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 [5] Levin, O., "Session Initiation Protocol Call Control -
Control - Conferencing for User Agents", Conferencing for User Agents",
draft-ietf-sipping-cc-conferencing-07 (work in progress), draft-ietf-sipping-cc-conferencing-07 (work in progress),
June 2005. June 2005.
[4] Camarillo, G. and A. Roach, "Requirements and Framework for [6] Camarillo, G. and A. Roach, "Framework and Security
Session Initiation Protocol (SIP)Uniform Resource Identifier Considerations for Session Initiation Protocol (SIP) Uniform
(URI)-List Services", draft-ietf-sipping-uri-services-03 (work Resource Identifier (URI)-List Services",
in progress), April 2005. draft-ietf-sipping-uri-services-04 (work in progress),
October 2005.
[5] Rosenberg, J., "Extensible Markup Language (XML) Formats for [7] Rosenberg, J., "Extensible Markup Language (XML) Formats for
Representing Resource Lists", Representing Resource Lists",
draft-ietf-simple-xcap-list-usage-05 (work in progress), draft-ietf-simple-xcap-list-usage-05 (work in progress),
February 2005. February 2005.
[8] Garcia-Martin, M. and G. Camarillo, "Extensible Markup Language
(XML) Format Extension for Representing Capacity Attributes in
Resource Lists", draft-ietf-sipping-capacity-attribute-00 (work
in progress), February 2006.
12.2. Informational References 12.2. Informational References
[6] Rosenberg, J., "A Session Initiation Protocol (SIP) Event [9] Rosenberg, J., "A Session Initiation Protocol (SIP) Event
Package for Conference State", Package for Conference State",
draft-ietf-sipping-conference-package-12 (work in progress), draft-ietf-sipping-conference-package-12 (work in progress),
July 2005. July 2005.
Authors' Addresses Authors' Addresses
Gonzalo Camarillo Gonzalo Camarillo
Ericsson Ericsson
Hirsalantie 11 Hirsalantie 11
Jorvas 02420 Jorvas 02420
skipping to change at page 11, line 5 skipping to change at page 13, line 30
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 Full Copyright Statement
Copyright (C) The Internet Society (2006).
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 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 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
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 11, line 29 skipping to change at page 14, line 29
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
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Disclaimer of Validity
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 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.
Copyright Statement
Copyright (C) The Internet Society (2005). 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.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 46 change blocks. 
105 lines changed or deleted 271 lines changed or added

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