| < draft-ietf-mediactrl-requirements-03.txt | draft-ietf-mediactrl-requirements-04.txt > | |||
|---|---|---|---|---|
| Mediactrl M. Dolly | Mediactrl M. Dolly | |||
| Internet-Draft AT&T Labs | Internet-Draft AT&T Labs | |||
| Intended status: Informational R. Even | Intended status: Informational R. Even | |||
| Expires: July 2, 2008 Polycom | Expires: August 27, 2008 Polycom | |||
| December 30, 2007 | February 24, 2008 | |||
| Media Server Control Protocol Requirements | Media Server Control Protocol Requirements | |||
| draft-ietf-mediactrl-requirements-03.txt | draft-ietf-mediactrl-requirements-04.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 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
| 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 July 2, 2008. | This Internet-Draft will expire on August 27, 2008. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2008). | |||
| Abstract | Abstract | |||
| This document addresses the communication between an application | This document addresses the communication between an application | |||
| server and media server. The current work in IETF working groups | server and media server. The current work in IETF working groups | |||
| shows these logical entities but does not address the physical | shows these logical entities but does not address the physical | |||
| decomposition and the protocol between the entities. | decomposition and the protocol between the entities. | |||
| This document presents the requirements for a media server control | This document presents the requirements for a media server control | |||
| protocol (MCP) that enables an application server to use a media | protocol (MCP) that enables an application server to use a media | |||
| server. It will address the aspects of announcements, Interactive | server. It will address the aspects of announcements, Interactive | |||
| Voice Response and conferencing media services. | Voice Response and conferencing media services. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. Media Control Requirements . . . . . . . . . . . . . . . . 4 | 3.1. Media Control Requirements . . . . . . . . . . . . . . . . 4 | |||
| 3.2. Media mixing Requirements . . . . . . . . . . . . . . . . . 6 | 3.2. Media mixing Requirements . . . . . . . . . . . . . . . . 6 | |||
| 3.3. IVR Requirements . . . . . . . . . . . . . . . . . . . . . 6 | 3.3. IVR Requirements . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.4. Operational Requirements . . . . . . . . . . . . . . . . . 7 | 3.4. Operational Requirements . . . . . . . . . . . . . . . . . 7 | |||
| 4. IANA consideration . . . . . . . . . . . . . . . . . . . . . . 7 | 4. IANA consideration . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 6. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . 7 | 6. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 7. Informative References . . . . . . . . . . . . . . . . . . . . 7 | 7. Informative References . . . . . . . . . . . . . . . . . . . . 8 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 9 | Intellectual Property and Copyright Statements . . . . . . . . . . 10 | |||
| 1. Introduction | 1. Introduction | |||
| The IETF conferencing framework in RFC 4353[CARCH] presents an | The IETF conferencing framework in RFC4353[CARCH] presents an | |||
| architecture that is built of several functional entities. The | architecture that is built of several functional entities. | |||
| framework document does not specify the protocols between the | RFC4353[CARCH] does not specify the protocols between the functional | |||
| functional entities since it is considered out of scope. | entities since it is considered out of scope. | |||
| There is an interest to work on a protocol that will enable one | Based on RFC4353 [CARCH] the document defines the requirements for a | |||
| physical entity, known as an Application Server (AS), that includes | protocol that will enable one functional entity, known as an | |||
| the conference/media policy server, the notification server and the | Application Server (AS), that includes the conference/media policy | |||
| focus to interact with one or more physical entities, called Media | server, the notification server and the focus, all defined in RFC | |||
| Server (MS), that serves as mixer or media server. | 4353[CARCH], to interact with one or more functional entities, called | |||
| Media Server (MS), that serves as mixer or media server. | ||||
| The Media server can also be used for announcements and Interactive | The Media server can also be used for announcements and Interactive | |||
| Voice Response (IVR) functions. | Voice Response (IVR) functions. | |||
| An example of the decomposition of a media server and an application | Application Servers host one or more instances of a communications | |||
| server is described in the media control framework | application. Media servers provide real time media processing | |||
| functions. An example of the decomposition of a media server and an | ||||
| application server is described in the media control framework | ||||
| document[mediactrl-fw]. | document[mediactrl-fw]. | |||
| This document presents the requirements for a media server control | This document presents the requirements for a media server control | |||
| protocol (MCP) that enables an application server to use a media | protocol (MCP) that enables an application server to control a media | |||
| server. It will address the aspects of announcements, IVR and | server. It will address the aspects of announcements, IVR and | |||
| conferencing media services. | conferencing media services. | |||
| The requirements are for the protocol and do not address the AS or MS | The requirements are for the protocol and do not address the AS or MS | |||
| functionality discussed in the media control framework. | functionality discussed in the media control framework. | |||
| Since the media server is a centralized component, the charter of the | ||||
| working group states that this work will not investigate distributed | ||||
| media processing algorithms or control protocols. | ||||
| 2. Terminology | 2. Terminology | |||
| The Media Server work uses, when appropriate, and expands on the | The Media Server work uses, when appropriate, and expands on the | |||
| terminology introduced in the conferencing framework[CARCH] and | terminology introduced in the conferencing framework[CARCH] and | |||
| Centralized Conferencing (XCON) conferencing | Centralized Conferencing (XCON) conferencing | |||
| framework[xcon-framework]. The following additional terms are | framework[xcon-framework]. The following additional terms are | |||
| defined: | defined: | |||
| Application Server (AS) - A functional entity that hosts one or more | Application Server (AS) - A functional entity that hosts one or more | |||
| instances of a communications application. The application server | instances of a communications application. The application server | |||
| may include the conference policy server, the focus and the | may include the conference policy server, the focus and the | |||
| conference notification server as defined in [CARCH]. It may include | conference notification server as defined in [CARCH]. It may include | |||
| also communication applications that use IVR or announcements | also communication applications that use IVR or announcements | |||
| services. | services. | |||
| Media Server (MS) - The media server includes the mixer as defined in | Media Server (MS) - The media server includes the mixer as defined in | |||
| [CARCH]. The media server plays announcements, it process media | [CARCH]. The media server plays announcements, it processes media | |||
| streams for functions like DTMF detection and transcoding. The media | streams for functions like DTMF detection and transcoding. The media | |||
| server may also record media streams for supporting IVR functions | server may also record media streams for supporting IVR functions | |||
| like announcing participants | like announcing participants | |||
| Media Resource Broker (MRB) - A logical entity that is responsible | Media Resource Broker (MRB) - A logical entity that is responsible | |||
| for both collection of appropriate published Media Server (MS) | for both collection of appropriate published Media Server (MS) | |||
| information and supplying of appropriate MS information to consuming | information and supplying of appropriate MS information to consuming | |||
| entities. | entities. The MRB is an optional entity and will be discussed in a | |||
| separate document. | ||||
| Notification - A notification is used when there is a need to report | Notification - A notification is used when there is a need to report | |||
| event related information from the MS to the AS. | event related information from the MS to the AS. | |||
| Request - A request is sent from the controlling entity, such as an | Request - A request is sent from the controlling entity, such as an | |||
| Application Server, to another resource, such as a Media Server, | Application Server, to another resource, such as a Media Server, | |||
| asking that a particular type of operation be executed. | asking that a particular type of operation be executed. | |||
| Response - A response is used to signal information such as an | Response - A response is used to signal information such as an | |||
| acknowledgement or error code in reply to a previously issued | acknowledgement or error code in reply to a previously issued | |||
| request. | request. | |||
| 3. Requirements | 3. Requirements | |||
| 3.1. Media Control Requirements | 3.1. Media Control Requirements | |||
| The following are the media control requirements: | The following are the media control requirements: | |||
| REQ-MCP-01 - The MS control protocol shall enable one or more | REQ-MCP-01 - The MS Control Protocol shall enable one or more | |||
| Application Servers to request media services from one or more | Application Servers to request media services from one or more | |||
| media servers. | Media Servers. | |||
| REQ-MCP-02 The MS control protocol shall use a reliable transport | REQ-MCP-02 The MS Control Protocol shall use a reliable transport | |||
| protocol. | protocol. | |||
| REQ-MCP-03 - The applications supported by the protocol shall | REQ-MCP-03 - The applications supported by the protocol shall | |||
| include Conferencing and Interactive Voice Response media | include Conferencing and Interactive Voice Response media | |||
| services. | services. | |||
| Note: Though the protocol enables these services, the functionality | Note: Though the protocol enables these services, the functionality | |||
| is invoked through other mechanisms. | is invoked through other mechanisms. | |||
| REQ-MCP-04 - Media types supported in the context of the | REQ-MCP-04 - Media types supported in the context of the | |||
| skipping to change at page 5, line 38 ¶ | skipping to change at page 5, line 46 ¶ | |||
| facilitating forward and backward compatibility. | facilitating forward and backward compatibility. | |||
| REQ-MCP-11 - The MS control protocol shall include an authentication | REQ-MCP-11 - The MS control protocol shall include an authentication | |||
| component to ensure that only an authorized AS can communicate | component to ensure that only an authorized AS can communicate | |||
| with the MS and vice versa. | with the MS and vice versa. | |||
| REQ-MCP-12 - The MS control protocol shall use some form of | REQ-MCP-12 - The MS control protocol shall use some form of | |||
| transport protection to ensure the confidentiality and integrity | transport protection to ensure the confidentiality and integrity | |||
| of the data between the AS and MS. | of the data between the AS and MS. | |||
| REQ-MCP-13 - The MS control protocol requires mechanisms to protect | REQ-MCP-13 - Different Application Servers may have different | |||
| privileges for using a MS. The protocol should prevent the AS for | ||||
| doing unauthorized operations on a MS. | ||||
| REQ-MCP-14 - The MS control protocol requires mechanisms to protect | ||||
| the MS resources used by one AS from another AS since the solution | the MS resources used by one AS from another AS since the solution | |||
| need to support multiple AS controlling one MS. | need to support multiple AS controlling one MS. | |||
| REQ-MCP-14 - During session establishment, there shall be a | REQ-MCP-15 - During session establishment, there shall be a | |||
| capability to negotiate parameters that are associated with media | capability to negotiate parameters that are associated with media | |||
| streams. This requirement should enable also an AS managing | streams. This requirement should enable also an AS managing | |||
| conference to specify the media streams allowed in the conference. | conference to specify the media streams allowed in the conference. | |||
| REQ-MCP-15 - The AS shall be able to define operations that the MS | REQ-MCP-16 - The AS shall be able to instruct the MS to perform | |||
| will perform on streams like mute and gain control. | streams operations like mute and gain control. | |||
| REQ-MCP-16 - The AS shall be able to instruct the MS to play a | REQ-MCP-17 - The AS shall be able to instruct the MS to play a | |||
| specific announcement. | specific announcement. | |||
| REQ-MCP-17 - The AS shall be able to request the MS to create, | REQ-MCP-18 - The AS shall be able to request the MS to create, | |||
| delete, and manipulate a mixing, IVR or announcement session. | delete, and manipulate a mixing, IVR or announcement session. | |||
| REQ-MCP-18 - The AS shall be able to instruct the MS to play | REQ-MCP-19 - The AS shall be able to instruct the MS to play | |||
| announcements to a single user or to a conference mix. | announcements to a single user or to a conference mix. | |||
| REQ-MCP-19 - The MS control protocol should enable the AS to ask the | REQ-MCP-20 - The MS control protocol should enable the AS to ask the | |||
| MS for session summary report. The report may include resources | MS for session summary report. The report may include resources | |||
| usage and quality metrics. | usage and quality metrics. | |||
| REQ-MCP-20 - The MS shall be able to notify the AS of events | REQ-MCP-21 - The MS shall be able to notify the AS of events | |||
| received in the media stream if requested by AS. (Examples - STUN | received in the media stream if requested by AS. (Examples - STUN | |||
| request, Flow Control, etc.) | request, Flow Control, etc.) | |||
| 3.2. Media mixing Requirements | 3.2. Media mixing Requirements | |||
| REQ-MCP-21 - The AS shall be able to define a conference mix, MS may | REQ-MCP-22 - The AS shall be able to define a conference mix, MS may | |||
| offer different mixing topologies. The conference mix may be | offer different mixing topologies. The conference mix may be | |||
| defined on a conference or user level. | defined on a conference or user level. | |||
| REQ-MCP-22 - The AS may be able to define a custom video layout | REQ-MCP-23 - The AS may be able to define a custom video layout | |||
| built of rectangular sub windows. | built of rectangular sub windows. | |||
| REQ-MCP-23 - For video the AS shall be able to map a stream to a | REQ-MCP-24 - For video the AS shall be able to map a stream to a | |||
| specific sub-window or to define to the MS how to decide which | specific sub-window or to define to the MS how to decide which | |||
| stream will go to each sub window. | stream will go to each sub window. | |||
| REQ-MCP-24 - The MS shall be able to notify the AS who is the active | REQ-MCP-25 - The MS shall be able to notify the AS who are the | |||
| speaker and who is being viewed in a conference. The speaker and | active sources of the media; for example who is the active speaker | |||
| the video source may be different, for example a person describing | or who is being viewed in a conference. The speaker and the video | |||
| a video stream from a remote camera managed by a different user. | source may be different, for example a person describing a video | |||
| stream from a remote camera managed by a different user. | ||||
| REQ-MCP-25 - The MS shall be able to inform the AS which layouts it | REQ-MCP-26 - The MS shall be able to inform the AS which layouts it | |||
| supports. | supports. | |||
| REQ-MCP-26 - The MS control protocol should enable the AS to | REQ-MCP-27 - The MS control protocol should enable the AS to | |||
| instruct the MS to record a specific conference mix. | instruct the MS to record a specific conference mix. | |||
| 3.3. IVR Requirements | 3.3. IVR Requirements | |||
| REQ-MCP-27 - The AS shall be able to instruct the MS to perform one | REQ-MCP-28 - The AS shall be able to instruct the MS to perform one | |||
| or more IVR script and receive the results. The script may be in | or more IVR script and receive the results. The script may be in | |||
| a server or contained in the control message. | a server or contained in the control message. | |||
| REQ-MCP-28 - The AS shall be able to manage the IVR session by | REQ-MCP-29 - The AS shall be able to manage the IVR session by | |||
| sending requests to play announcements to the MS and receiving the | sending requests to play announcements to the MS and receiving the | |||
| response (e.g., DTMF). The IVR session flow in this case is | response (e.g., DTMF). The IVR session flow in this case is | |||
| handled by the AS by starting a next phase based on the response | handled by the AS by starting a next phase based on the response | |||
| it receives from the MS on the current phase. | it receives from the MS on the current phase. | |||
| REQ-MCP-29 - The AS should be able to instruct the MS to record a | REQ-MCP-30 - The AS should be able to instruct the MS to record a | |||
| short participant stream and play it back. This is not a | short participant stream and play it back. This is not a | |||
| recording requirement. | recording requirement. | |||
| 3.4. Operational Requirements | 3.4. Operational Requirements | |||
| These requirements may be applicable to the MRB but can be used by an | These requirements may be applicable to the MRB but can be used by an | |||
| AS if it has one to one connection to the MS. | AS if it has one to one connection to the MS. | |||
| REQ-MCP-30 - The MS control protocol must allow the AS to audit the | REQ-MCP-31 - The MS control protocol must allow the AS to audit the | |||
| MS state, during an active session. | MS state, during an active session. | |||
| REQ-MCP-31 - The MS shall be able to inform the AS about its status | REQ-MCP-32 - The MS shall be able to inform the AS about its status | |||
| during an active session. | during an active session. | |||
| 4. IANA consideration | 4. IANA consideration | |||
| There are no IANA considerations. | There are no IANA considerations. | |||
| 5. Security Considerations | 5. Security Considerations | |||
| The protocols that will meet the requirements described in this | This document discusses high-level requirements for MCP. The MCP has | |||
| document will extend existing standards-track IETF protocols whose | some specific security requirements, which will be summarized here at | |||
| security properties are well understood. Required security | a very high level. | |||
| properties will be based on the available security tools. | ||||
| All of the operations and functions described in this document need | ||||
| to be authorized by a MS or a AS. It is expected that MS resources | ||||
| will be governed by a set of authorization rules defined as part of | ||||
| the AS / MS policy. In order for the policy to be implemented, the | ||||
| MS needs to be able to authenticate requests. Normal SIP mechanisms | ||||
| including Digest authentication and certificates can be used as | ||||
| specified in RFC3261[RFC3261] These MCP security requirements will be | ||||
| discussed in detail in the framework and protocol documents. | ||||
| 6. Acknowledgment | 6. Acknowledgment | |||
| This draft represents the work from two previous personal drafts, | This draft represents the work from two previous personal drafts, | |||
| draft-dolly-xcon-mediacntrlframe-02 and | draft-dolly-xcon-mediacntrlframe-02 and | |||
| draft-even-media-server-req-02. The authors would like to | draft-even-media-server-req-02. The authors would like to | |||
| acknowledge the work of Gary Munson from AT &T Labs and James | acknowledge the work of Gary Munson from AT &T Labs and James | |||
| Rafferty from Cantata who helped with drafting | Rafferty from Cantata who helped with drafting | |||
| draft-dolly-xcon-mediacntrlframe-02 on which this work is based. | draft-dolly-xcon-mediacntrlframe-02 on which this work is based. | |||
| 7. Informative References | 7. Informative References | |||
| [CARCH] Rosenberg, J., "A Framework for Conferencing with the | [CARCH] Rosenberg, J., "A Framework for Conferencing with the | |||
| Session Initiation Protocol (SIP)", RFC 4353, | Session Initiation Protocol (SIP)", RFC 4353, | |||
| February 2006. | February 2006. | |||
| [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, | ||||
| A., Peterson, J., Sparks, R., Handley, M., and E. | ||||
| Schooler, "SIP: Session Initiation Protocol", RFC 3261, | ||||
| June 2002. | ||||
| [mediactrl-fw] | [mediactrl-fw] | |||
| Melanchuk, T., "An Architectural Framework for Media | Melanchuk, T., "An Architectural Framework for Media | |||
| Server Control", draft-ietf-mediactrl-architecture-01 | Server Control", draft-ietf-mediactrl-architecture-02 | |||
| (work in progress), November 2007. | (work in progress), February 2008. | |||
| [xcon-framework] | [xcon-framework] | |||
| Barnes, M., "A Framework for Centralized Conferencing", | Barnes, M., "A Framework for Centralized Conferencing", | |||
| draft-ietf-xcon-framework-10 (work in progress), | draft-ietf-xcon-framework-10 (work in progress), | |||
| November 2007. | November 2007. | |||
| Authors' Addresses | Authors' Addresses | |||
| Martin Dolly | Martin Dolly | |||
| AT&T Labs | AT&T Labs | |||
| skipping to change at page 9, line 7 ¶ | skipping to change at page 10, line 7 ¶ | |||
| Roni Even | Roni Even | |||
| Polycom | Polycom | |||
| 94 Derech Em Hamoshavot | 94 Derech Em Hamoshavot | |||
| Petach Tikva 49130 | Petach Tikva 49130 | |||
| Israel | Israel | |||
| Email: roni.even@polycom.co.il | Email: roni.even@polycom.co.il | |||
| Full Copyright Statement | Full Copyright Statement | |||
| Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2008). | |||
| This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
| contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
| retain all their rights. | retain all their rights. | |||
| This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | |||
| THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | |||
| OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | |||
| End of changes. 38 change blocks. | ||||
| 65 lines changed or deleted | 91 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||