draft-ietf-xcon-cpcp-reqs-02.txt   draft-ietf-xcon-cpcp-reqs-03.txt 
XCON WG P. Koskelainen XCON WG P. Koskelainen
Internet-Draft H. Khartabil Internet-Draft H. Khartabil
Expires: July 29, 2004 Nokia Expires: October 25, 2004 Nokia
January 29, 2004 April 26, 2004
Requirements for Conference Policy Control Protocol Requirements for Conference Policy Control Protocol
draft-ietf-xcon-cpcp-reqs-02 draft-ietf-xcon-cpcp-reqs-03
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
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 other
groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
skipping to change at page 1, line 31 skipping to change at page 1, line 31
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 http://
www.ietf.org/ietf/1id-abstracts.txt. 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 July 29, 2004. This Internet-Draft will expire on October 25, 2004.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract Abstract
The conference policy server allows clients to manipulate and The conference policy server allows clients to manipulate and
interact with the conference policy. One mechanism to manipulate the interact with the conference policy. One mechanism to manipulate the
policy is to use conference policy control protocol (CPCP). This policy is to use conference policy control protocol (CPCP). This
skipping to change at page 2, line 14 skipping to change at page 2, line 14
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions Used in This Document . . . . . . . . . . . . . . 4 2. Conventions Used in This Document . . . . . . . . . . . . . . 4
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Integration with Floor Control . . . . . . . . . . . . . . . . 6 4. Integration with Floor Control . . . . . . . . . . . . . . . . 6
5. Conference Policy Data Model . . . . . . . . . . . . . . . . . 7 5. Conference Policy Data Model . . . . . . . . . . . . . . . . . 7
6. CPCP Requirements . . . . . . . . . . . . . . . . . . . . . . 8 6. CPCP Requirements . . . . . . . . . . . . . . . . . . . . . . 8
6.1 Conference creation, termination and joining . . . . . . . . . 8 6.1 Conference creation, termination and joining . . . . . . . . . 8
6.2 Manipulating general conference attributes . . . . . . . . . . 8 6.2 Manipulating general conference attributes . . . . . . . . . . 9
6.3 Authentication and Security . . . . . . . . . . . . . . . . . 9 6.3 Authentication and Security . . . . . . . . . . . . . . . . . 10
6.4 Application and media manipulation . . . . . . . . . . . . . . 9 6.4 Application and media manipulation . . . . . . . . . . . . . . 10
6.5 ACL manipulation . . . . . . . . . . . . . . . . . . . . . . . 9 6.5 ACL manipulation . . . . . . . . . . . . . . . . . . . . . . . 10
6.6 Floor control . . . . . . . . . . . . . . . . . . . . . . . . 10 6.6 Floor control . . . . . . . . . . . . . . . . . . . . . . . . 11
6.7 Inviting and ejecting users . . . . . . . . . . . . . . . . . 11 6.7 Inviting and ejecting users . . . . . . . . . . . . . . . . . 11
6.8 User Privileges . . . . . . . . . . . . . . . . . . . . . . . 11 6.8 User Privileges . . . . . . . . . . . . . . . . . . . . . . . 12
6.9 General Protocol Requirements . . . . . . . . . . . . . . . . 12 6.9 General Protocol Requirements . . . . . . . . . . . . . . . . 12
7. Changes since draft-ietf-xcon-cpcp-reqs-01 . . . . . . . . . . 13 7. Changes since draft-ietf-xcon-cpcp-reqs-02 . . . . . . . . . . 14
8. Changes since draft-ietf-xcon-cpcp-reqs-00 . . . . . . . . . . 14 8. Changes since draft-ietf-xcon-cpcp-reqs-01 . . . . . . . . . . 15
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15 9. Changes since draft-ietf-xcon-cpcp-reqs-00 . . . . . . . . . . 16
Normative References . . . . . . . . . . . . . . . . . . . . . 16 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17
Informative References . . . . . . . . . . . . . . . . . . . . 17 Normative References . . . . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 17 Informative References . . . . . . . . . . . . . . . . . . . . 19
Intellectual Property and Copyright Statements . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 19
Intellectual Property and Copyright Statements . . . . . . . . 20
1. Introduction 1. Introduction
The conferencing framework document [3] describes the overall The conferencing framework document [3] describes the overall
architecture, terminology, and protocol components needed for multi- architecture, terminology, and protocol components needed for multi-
party conferencing. It defines a logical function called a conference party conferencing. It defines a logical function called a conference
policy server (CPS) which can store and manipulate rules associated policy server which can store and manipulate rules associated with
with participation in a conference. These rules include directives participation in a conference. These rules include directives on the
on the lifespan of the conference, who can and cannot join the lifespan of the conference, who can and cannot join the conference,
conference, definitions of roles available in the conference and the definitions of roles available in the conference and the
responsibilities associated with those roles. responsibilities associated with those roles.
The conference policy control protocol (CPCP) is a client-server The conference policy control protocol (CPCP) is a client-server
protocol that can be used by users to manipulate the rules associated protocol that can be used by users to manipulate the rules associated
with the conference. with the conference.
The conference policy is represented by a URI. There is a unique The conference policy is represented by a URI. There is a unique
conference policy for each conference. The conference policy URI conference policy for each conference. The conference policy URI
points to a conference policy server which can manipulate that points to a conference policy server which can manipulate that
conference policy. conference policy.
skipping to change at page 5, line 17 skipping to change at page 5, line 17
This document uses the definitions from [3]. This document uses the definitions from [3].
Additional definitions: Additional definitions:
ACL ACL
Access control list (ACL) defines users who can join a Access control list (ACL) defines users who can join a
conference. Users may have allow, blocked or pending status in conference. Users may have allow, blocked or pending status in
the list. Each conference has its own ACL. the list. Each conference has its own ACL.
Moderator
A special (privileged) role for a user that is allowed to
manipulate conference policy and override policy decisions made
by other users.
Floor control Floor control
Floor control is a mechanism that enables applications or users Floor control is a mechanism that enables applications or users
to gain safe and mutually exclusive or non-exclusive access to to gain safe and mutually exclusive or non-exclusive access to
the shared object or resource in a conference. the shared object or resource in a conference.
Privilege Privilege
A privilege is a right to perform a manipulation operation in a A privilege is a right to perform a manipulation operation in a
conference. It is user permission such as the right to modify conference. It is user permission such as the right to modify
skipping to change at page 8, line 43 skipping to change at page 8, line 43
an anonymous user. an anonymous user.
Note: A conference focus must not accept users to authenticate Note: A conference focus must not accept users to authenticate
themselves with a username "anonymous" (like in Digest themselves with a username "anonymous" (like in Digest
authentication). authentication).
REQ-A8: It MUST be possible to assign multiple conference URIs to a REQ-A8: It MUST be possible to assign multiple conference URIs to a
conference, one for each session signaling protocol scheme that the conference, one for each session signaling protocol scheme that the
conference server supports. conference server supports.
REQ-A9: It MUST be possible to define the start and stop times for REQ-A9: It MUST be possible to define the time when media mixing may
the conference. start ("don't-mix-before-time") and stop ("cannot-continue-after")
operating in the conference.
REQ-A10: It MUST be possible to define the time after which users are
allowed to join the conference.
REQ-A11: It MUST be possible to define the time after which new users
are not allowed to join the conference anymore.
REQ-A12: It MUST be possible to define the time when users or
resources on the dial-out list are invited to join the conference.
REQ-A13: It MUST be possible define whether the conference can be
extended. Note: This does not guarantee that resources are available.
REQ-A14: It MUST be possible to indicate key participants.
REQ-A15a: It MUST be possible to define when media mixing starts
based on the latter of the mixing start time, and the time the first
participant arrives.
REQ X15b: It MUST be possible to define when media mixing starts
based on the latter of the mixing start time, and the time the first
key participant arrives.
REQ-A16a: It MUST be possible to define when media mixing stops based
on the earlier of the mixing stop time, and the time the last
participant leaves the conference.
REQ-A16b: It MUST be possible to define when media mixing stops based
on the earlier of the mixing stop time, and the time the last key
participant leaves.
REQ-A16c: It MUST be possible to define when media mixing stops based
on the time only.
REQ-A17: It MUST be possible to define that the users and resources
on the dial-out list are invited only after first key participant has
joined.
Note: This parameter, if set, overrides the time defined by REQ-A12.
6.2 Manipulating general conference attributes 6.2 Manipulating general conference attributes
REQ-B1: It MUST be possible to set, modify and delete a conference REQ-B1: It MUST be possible to set, modify and delete a conference
Subject. Subject.
REQ-B2: It MUST be possible to set, modify and delete conference URI REQ-B2: It MUST be possible to set, modify and delete conference URI
display name. display name.
REQ-B3: It MUST be possible to set, modify and delete conference REQ-B3: It MUST be possible to set, modify and delete conference
skipping to change at page 10, line 19 skipping to change at page 11, line 12
REQ-E3: It MUST be possible to define which users are allowed to join REQ-E3: It MUST be possible to define which users are allowed to join
the conference. the conference.
REQ-E4: It MUST be possible to define which users are allowed to join REQ-E4: It MUST be possible to define which users are allowed to join
a conference in a single operation. a conference in a single operation.
REQ-E5: It MUST be possible to define which users are places into REQ-E5: It MUST be possible to define which users are places into
pending list, waiting for further approval e.g. from moderator. pending list, waiting for further approval e.g. from moderator.
REQ-E6: It MUST be possible to use wildcards in ACL (such as REQ-E6: It MUST be possible to use wildcards in ACL.
sip:*@example.com is allowed to join).
REQ-E7: ACL conflicts MUST be solved in a well-defined way (e.g. what REQ-E7: ACL conflicts MUST be solved in a well-defined way (e.g. what
if user appears both in blocked list and in allowed list) e.g. by if user appears both in blocked list and in allowed list) e.g. by
mandating the order in which ACL definitions are evaluated (e.g. most mandating the order in which ACL definitions are evaluated (e.g. most
specific expression first). specific expression first).
REQ-E8: Conference MUST have default policy for those users that no REQ-E8: Conference MUST have default policy for those users that no
matching rule is found in ACL. matching rule is found in ACL.
REQ-E9: It MUST be possible to allow and disallow anonymous REQ-E9: It MUST be possible to allow and disallow anonymous
skipping to change at page 12, line 16 skipping to change at page 13, line 7
REQ-CP-1: Protocol behaviour: CPCP protocol MUST be a reliable REQ-CP-1: Protocol behaviour: CPCP protocol MUST be a reliable
client-server protocol. Hence, it MUST have a positive response client-server protocol. Hence, it MUST have a positive response
indicating that the request has been received, or error response if indicating that the request has been received, or error response if
an error has occurred. an error has occurred.
REQ-CP-2: Manipulations of the policy collection MUST exhibit the REQ-CP-2: Manipulations of the policy collection MUST exhibit the
ACID property; that is, they MUST be atomic, be consistent, durable, ACID property; that is, they MUST be atomic, be consistent, durable,
and operate independently. and operate independently.
REQ-CP-3: It MAY be possible for the client to batch multiple REQ-CP-3: It MUST be possible for the server to authenticate the
operations (such as add a user to ACL blocked list, or remove a user
from ACL allowed list) into a single request that is processed
atomically.
REQ-CP-4: It MUST be possible for the server to authenticate the
client. client.
REQ-CP-5: It MUST be possible for the client to authenticate the REQ-CP-4: It MUST be possible for the client to authenticate the
server. server.
REQ-CP-6: It MUST be possible for message integrity to be ensured REQ-CP-5: It MUST be possible for message integrity to be ensured
between the client and the server. between the client and the server.
REQ-CP-7: It MUST be possible for privacy to be ensured between the REQ-CP-6: It MUST be possible for privacy to be ensured between the
client and server. client and server.
7. Changes since draft-ietf-xcon-cpcp-reqs-01 7. Changes since draft-ietf-xcon-cpcp-reqs-02
- start/stop time-related requirements clarified (requirements
A9-A17)
- removal of CP-3 (batching multiple operations) since it is
overlapping with other requirements e.g. H2
- removal of "moderator" in terminology (conflicts with floor
moderator)
8. Changes since draft-ietf-xcon-cpcp-reqs-01
- time definition changed: only start/stop times required - time definition changed: only start/stop times required
8. Changes since draft-ietf-xcon-cpcp-reqs-00 9. Changes since draft-ietf-xcon-cpcp-reqs-00
- floor control aligned with floor control requirements document - floor control aligned with floor control requirements document
- removed the concept of hidden user - removed the concept of hidden user
- anonymous membership modified - anonymous membership modified
- removed "inactive" - removed "inactive"
- added media type requirement (e.g. audio, video) - added media type requirement (e.g. audio, video)
9. Acknowledgements 10. Acknowledgements
The authors would like to thank Eric Burger, Keith Drage, Brian The authors would like to thank Eric Burger, Keith Drage, Brian
Rosen, Xiaotao Wu, Henning Schulzrinne, Simo Veikkolainen and IETF Rosen, Xiaotao Wu, Henning Schulzrinne, Simo Veikkolainen and IETF
conferencing design team for their feedback. conferencing design team for their feedback.
Normative References 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", RFC 2119, BCD 14, March 1997. Levels", RFC 2119, BCD 14, March 1997.
[2] Rosenberg et al., J., "SIP: Session Initiation Protocol", RFC [2] Rosenberg et al., J., "SIP: Session Initiation Protocol", RFC
3261, June 2002. 3261, June 2002.
[3] Rosenberg, J., "A Framework for Conferencing with the Session [3] Rosenberg, J., "A Framework for Conferencing with the Session
Initiation Protocol", Initiation Protocol",
draft-rosenberg-sipping-conferencing-framework-01 (work in draft-rosenberg-sipping-conferencing-framework-01 (work in
progress), February 2003. progress), February 2003.
[4] Rosenberg, J., "A Session Initiation Protocol (SIP) Event [4] Rosenberg, J., "A Session Initiation Protocol (SIP) Event
Package for Conference State", Package for Conference State",
draft-ietf-sipping-conference-package-01 (work in progress), draft-ietf-sipping-conference-package-03 (work in progress),
June 2003. February 2004.
Informative References Informative References
[5] Koskelainen, P., Schulzrinne, H. and X. Wu, "Additional [5] Koskelainen, P., Schulzrinne, H. and X. Wu, "Additional
Requirements to Conferencing", October 2002. Requirements to Conferencing", October 2002.
[6] Wu, X., Schulzrinne, H. and P. Koskelainen, "Use of SIP and SOAP [6] Wu, X., Schulzrinne, H. and P. Koskelainen, "Use of SIP and SOAP
for conference floor control", January 2003. for conference floor control", January 2003.
[7] Koskelainen, P., Schulzrinne, H. and X. Wu, "A sip-based [7] Koskelainen, P., Schulzrinne, H. and X. Wu, "A sip-based
 End of changes. 

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