RFC 5167

Media Server Control Protocol Requirements

πŸ“… published March 2008, from ietf

Media Server Control Protocol Requirements πŸŽ€

okay bestie, this is RFC 5167 πŸ’– It's an Informational doc, which means it's just sharing info with the Internet community, NOT an actual standard 🫢 M. Dolly from AT&T Labs and R. Even from Polycom wrote it, and it dropped in March 2008. The title block doesn't list anything it obsoletes or updates, so it's a standalone vibe ✨

Status of This Memo ✨

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

Abstract 🌸

so the big idea is the communication between an application server and a media server πŸ¦‹ IETF working groups already show these as logical entities, but they don't cover the physical decomposition or the protocol between them, which is the gap this doc is about.

this doc gives the requirements for a Media Server Control Protocol (MCP) that lets an application server use a media server πŸ’… it covers announcements, Interactive Voice Response, and conferencing media services.

Table of Contents 🧚

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . . . 3
  3.1.  Media Control Requirements  . . . . . . . . . . . . . . . . 3
  3.2.  Media mixing Requirements . . . . . . . . . . . . . . . . . 5
  3.3.  IVR Requirements  . . . . . . . . . . . . . . . . . . . . . 6
  3.4.  Operational Requirements  . . . . . . . . . . . . . . . . . 6
4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
5.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7
6.  Informative References  . . . . . . . . . . . . . . . . . . . . 7

1. Introduction ✨

okay so the IETF conferencing framework in RFC 4353 [CARCH] is the architecture that's made up of several functional entities πŸŽ€ RFC 4353 [CARCH] doesn't specify the protocols between those entities though, because that's out of scope for it.

building on RFC 4353 [CARCH], this doc defines the requirements for a protocol that lets one functional entity, the Application Server (AS), talk to one or more functional entities called Media Servers (MS) πŸ’œ The AS includes the conference/media policy server, the notification server, and the focus, all defined in RFC 4353 [CARCH]. The MS acts as a mixer or media server.

the media server can also handle announcements and Interactive Voice Response (IVR) functions πŸ“

application servers host one or more instances of a communication application πŸ’… media servers provide real time media processing functions ✨ there's an example of how a media server and an application server can be broken apart in the media control framework document [MEDIACTRL-FW] πŸ¦‹

this doc presents the requirements for a Media Server Control Protocol (MCP) that lets an application server control a media server πŸ‘‘ it covers announcements, IVR, and conferencing media services.

the requirements are for the protocol itself. they don't cover the AS or MS functionality that's discussed in the media control framework.

since the media server is a centralized component, the working group charter says this work won't look into distributed media processing algorithms or control protocols 🌈

2. Terminology 🫢

the media server work uses terminology from the conferencing framework [CARCH] and the Centralized Conferencing (XCON) framework [XCON-FRMWRK] when it makes sense, and it expands on those terms πŸ’– these extra terms are defined too:

  • Application Server (AS): a functional entity that hosts one or more instances of a communication application. The application server may include the conference policy server, the focus, and the conference notification server, as defined in [CARCH]. It may also include communication applications that use IVR or announcement services.
  • Media Server (MS): the media server includes the mixer as defined in [CARCH]. It plays announcements and processes media streams for things like Dual Tone Multi-Frequency (DTMF) detection and transcoding πŸ”₯ It may also record media streams to support IVR functions like announcing participants
  • Media Resource Broker (MRB): a logical entity that's responsible for both collecting the appropriate published Media Server (MS) information and supplying the appropriate MS information to consuming entities 🧚 The MRB is an optional entity and will be discussed in a separate document.
  • Notification: used when there's a need to report event-related information from the MS to the AS ⭐
  • Request: sent from the controlling entity, like an application server, to another resource, like a media server, asking that a particular type of operation be executed πŸŽ€
  • Response: used to signal information, like an acknowledgement or error code, in reply to a previously issued request 🌸

3. Requirements πŸ’…

3.1. Media Control Requirements πŸ‘‘

these are the media control requirements, and they're the core of the whole thing 😭

REQ-MCP-01: The MS Control Protocol shall enable one or more application servers to request media services from one or more media servers.

REQ-MCP-02: The MS Control Protocol shall use a reliable transport protocol.

REQ-MCP-03: The applications supported by the protocol shall include conferencing and Interactive Voice Response media services.

Note: Though the protocol enables these services, the functionality is invoked through other mechanisms.

REQ-MCP-04: Media types supported in the context of the applications shall include audio, tones, text, and video. Tones media include in-band audio or RFC 4733 payload. πŸ¦‹

REQ-MCP-05: The MS control protocol should allow, but must not require, a media resource broker (MRB) or intermediate proxy to exist with the application server and media server. 🫢

REQ-MCP-06: On the MS control channel, there shall be requests to the MS, responses from the MS, and notifications to the AS. πŸ’–

REQ-MCP-07: SIP/SDP (Session Initiation Protocol / Session Description Protocol) shall be used to establish and modify media connections to a media server. ✨

REQ-MCP-08: It should be possible to support a single conference spanning multiple media servers.

Note: It's probable that spanning multiple MSs can be accomplished by the AS and doesn't require anything in the protocol for the scenarios they have in mind. However, the concern is that if this requirement is treated too lightly, one may end up with a protocol that precludes its support. πŸ™ˆ

REQ-MCP-09: It must be possible to split call legs individually, or in groups, away from a main conference on a given media server, without performing re-establishment of the call legs to the MS (for example, for purposes such as performing IVR with a single call leg or creating sub-conferences, not for creating entirely new conferences). πŸ“

REQ-MCP-10: The MS control protocol should be extendable, facilitating forward and backward compatibility. 🌈

REQ-MCP-11: The MS control protocol shall include an authentication component to ensure that only an authorized AS can communicate with the MS, and vice versa. πŸ”₯

REQ-MCP-12: The MS control protocol shall use some form of transport protection to ensure the confidentiality and integrity of the data between the AS and MS. πŸ”₯

REQ-MCP-13: Different application servers may have different privileges for using an MS. The protocol should prevent the AS from doing unauthorized operations on an 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 needs to support multiple ASs controlling one MS. πŸ’œ

REQ-MCP-15: During session establishment, there shall be a capability to negotiate parameters that are associated with media streams. This requirement should also enable an AS managing a conference to specify the media streams allowed in the conference. πŸŽ€

REQ-MCP-16: The AS shall be able to instruct the MS to perform stream operations like mute and gain control. 🧚

REQ-MCP-17: The AS shall be able to instruct the MS to play a specific announcement. πŸ“£

REQ-MCP-18: The AS shall be able to request the MS to create, delete, and manipulate a mixing, IVR, or announcement session. πŸ’…

REQ-MCP-19: The AS shall be able to instruct the MS to play announcements to a single user or to a conference mix. 🌸

REQ-MCP-20: The MS control protocol should enable the AS to ask the MS for a session summary report. The report may include resource usage and quality metrics. ⭐

REQ-MCP-21: The MS shall be able to notify the AS of events received in the media stream if requested by the AS. (Examples: STUN request, Flow Control, etc.) πŸ¦‹


4. Security Considerations πŸ”

Okay bestie, security time πŸ” This doc is basically a highlights reel of MCP's security needs, kept super high level. MCP has some specific security requirements, and we're summarizing them here without going too deep.

All of the operations and functions in this document need to be authorized by an MS or an AS 🚫 It's expected that MS resources will be governed by a set of authorization rules defined as part of the AS / MS policy. For that policy to actually work, the MS needs to be able to authenticate requests. Normal SIP mechanisms, including Digest authentication and certificates, can be used as specified in RFC 3261 [RFC3261]. The detailed MCP security requirements get covered in the framework and protocol documents πŸ“–

5. Acknowledgments 🫢

This RFC grew out of two earlier personal works in progress, "Media Control Protocol Requirements" and "Requirements for a Media Server Control Protocol". The authors want to give a big shout-out to Gary Munson from AT&T Labs and James Rafferty from Cantata, who helped write "Media Control Protocol Requirements", which this work is based on πŸ’–

6. Informative References πŸ“š

[CARCH]         Rosenberg, J., "A Framework for Conferencing with the
                Session Initiation Protocol (SIP)", RFC 4353,
                February 2006.

[MEDIACTRL-FW]  Melanchuk, T., Ed., "An Architectural Framework for
                Media Server Control", Work in Progress,
                February 2008.

[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.

[XCON-FRMWRK]   Barnes, M., Boulton, C., and O. Levin, "A Framework
                for Centralized Conferencing", Work in Progress,
                November 2007.

Authors' Addresses πŸ¦‹

Martin Dolly
AT&T Labs
200 Laurel Avenue
Middletown, NJ  07748
USA

Phone:
EMail: mdolly@att.com
URI:


Roni Even
Polycom
94 Derech Em Hamoshavot
Petach Tikva  49130
Israel

EMail: roni.even@polycom.co.il

Copyright (C) The IETF Trust (2008).

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, THE IETF TRUST 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 Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or the extent to which any license under such rights might or might not be available. It also doesn't represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat, and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

πŸ“¦ where this page comes from