Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 6505

A Mixer Control Package for the Media Control Channel Framework

Pages: 89
Proposed Standard
Errata
Part 1 of 5 – Pages 1 to 8
None   None   Next

Top   ToC   RFC6505 - Page 1
Internet Engineering Task Force (IETF)                      S. McGlashan
Request for Comments: 6505                               Hewlett-Packard
Category: Standards Track                                   T. Melanchuk
ISSN: 2070-1721                                               Rainwillow
                                                              C. Boulton
                                                         NS-Technologies
                                                              March 2012


    A Mixer Control Package for the Media Control Channel Framework

Abstract

This document defines a Media Control Channel Framework Package for managing mixers for media conferences and connections. The package defines request elements for managing conference mixers, managing mixers between conferences and/or connections, as well as associated responses and notifications. The package also defines elements for auditing package capabilities and mixers. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6505. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Top   ToC   RFC6505 - Page 2
   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 5 3. Control Package Definition . . . . . . . . . . . . . . . . . . 6 3.1. Control Package Name . . . . . . . . . . . . . . . . . . . 6 3.2. Framework Message Usage . . . . . . . . . . . . . . . . . 6 3.3. Common XML Support . . . . . . . . . . . . . . . . . . . . 7 3.4. CONTROL Message Body . . . . . . . . . . . . . . . . . . . 7 3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 7 3.6. Audit . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. Element Definitions . . . . . . . . . . . . . . . . . . . . . 8 4.1. <mscmixer> . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2. Mixer Elements . . . . . . . . . . . . . . . . . . . . . . 11 4.2.1. Conference Elements . . . . . . . . . . . . . . . . . 12 4.2.1.1. <createconference> . . . . . . . . . . . . . . . . 12 4.2.1.2. <modifyconference> . . . . . . . . . . . . . . . . 14 4.2.1.3. <destroyconference> . . . . . . . . . . . . . . . 16 4.2.1.4. Conference Configuration . . . . . . . . . . . . . 16 4.2.1.4.1. <audio-mixing> . . . . . . . . . . . . . . . . 16 4.2.1.4.2. <video-layouts> . . . . . . . . . . . . . . . 17 4.2.1.4.2.1. <video-layout> . . . . . . . . . . . . . . 18 4.2.1.4.3. <video-switch> . . . . . . . . . . . . . . . . 24 4.2.1.4.3.1. Priority Assignment . . . . . . . . . . . 26 4.2.1.4.4. <subscribe> . . . . . . . . . . . . . . . . . 27 4.2.1.4.4.1. <active-talkers-sub> . . . . . . . . . . . 27 4.2.2. Joining Elements . . . . . . . . . . . . . . . . . . . 28 4.2.2.1. Joining Model . . . . . . . . . . . . . . . . . . 28 4.2.2.2. <join> . . . . . . . . . . . . . . . . . . . . . . 29 4.2.2.3. <modifyjoin> . . . . . . . . . . . . . . . . . . . 32 4.2.2.4. <unjoin> . . . . . . . . . . . . . . . . . . . . . 34 4.2.2.5. <stream> . . . . . . . . . . . . . . . . . . . . . 35 4.2.2.5.1. <volume> . . . . . . . . . . . . . . . . . . . 37 4.2.2.5.2. <clamp> . . . . . . . . . . . . . . . . . . . 38 4.2.2.5.3. <region> . . . . . . . . . . . . . . . . . . . 38
Top   ToC   RFC6505 - Page 3
           4.2.2.5.4.  <priority> . . . . . . . . . . . . . . . . . . 38
       4.2.3.  <response> . . . . . . . . . . . . . . . . . . . . . . 38
       4.2.4.  <event>  . . . . . . . . . . . . . . . . . . . . . . . 39
         4.2.4.1.  <active-talkers-notify>  . . . . . . . . . . . . . 39
           4.2.4.1.1.  <active-talker>  . . . . . . . . . . . . . . . 40
         4.2.4.2.  <unjoin-notify>  . . . . . . . . . . . . . . . . . 40
         4.2.4.3.  <conferenceexit> . . . . . . . . . . . . . . . . . 41
     4.3.  Audit Elements . . . . . . . . . . . . . . . . . . . . . . 42
       4.3.1.  <audit>  . . . . . . . . . . . . . . . . . . . . . . . 43
       4.3.2.  <auditresponse>  . . . . . . . . . . . . . . . . . . . 44
         4.3.2.1.  <capabilities> . . . . . . . . . . . . . . . . . . 46
         4.3.2.2.  <mixers> . . . . . . . . . . . . . . . . . . . . . 46
           4.3.2.2.1.  <conferenceaudit>  . . . . . . . . . . . . . . 47
             4.3.2.2.1.1.  <participants> . . . . . . . . . . . . . . 47
               4.3.2.2.1.1.1.  <participant>  . . . . . . . . . . . . 48
           4.3.2.2.2.  <joinaudit>  . . . . . . . . . . . . . . . . . 48
     4.4.  <codecs> . . . . . . . . . . . . . . . . . . . . . . . . . 48
       4.4.1.  <codec>  . . . . . . . . . . . . . . . . . . . . . . . 49
     4.5.  <params> . . . . . . . . . . . . . . . . . . . . . . . . . 50
       4.5.1.  <param>  . . . . . . . . . . . . . . . . . . . . . . . 50
     4.6.  Response Status Codes  . . . . . . . . . . . . . . . . . . 51
     4.7.  Type Definitions . . . . . . . . . . . . . . . . . . . . . 55
   5.  Formal Syntax  . . . . . . . . . . . . . . . . . . . . . . . . 56
   6.  Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
     6.1.  AS-MS Framework Interaction Examples . . . . . . . . . . . 75
       6.1.1.  Creating a Conference Mixer and Joining a
               Participant  . . . . . . . . . . . . . . . . . . . . . 75
       6.1.2.  Receiving Active Talker Notifications  . . . . . . . . 76
       6.1.3.  Conference Termination . . . . . . . . . . . . . . . . 76
     6.2.  Mixing Examples  . . . . . . . . . . . . . . . . . . . . . 76
       6.2.1.  Audio Conferencing . . . . . . . . . . . . . . . . . . 77
       6.2.2.  Bridging Connections . . . . . . . . . . . . . . . . . 79
       6.2.3.  Video Conferencing . . . . . . . . . . . . . . . . . . 80
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 81
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 84
     8.1.  Control Package Registration . . . . . . . . . . . . . . . 84
     8.2.  URN Sub-Namespace Registration . . . . . . . . . . . . . . 84
     8.3.  XML Schema Registration  . . . . . . . . . . . . . . . . . 85
     8.4.  MIME Media Type Registration for
           'application/msc-mixer+xml'  . . . . . . . . . . . . . . . 85
     8.5.  Mixer Control Package Status Code Registration . . . . . . 86
   9.  Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 86
   10. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 87
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 87
     11.1. Normative References . . . . . . . . . . . . . . . . . . . 87
     11.2. Informative References . . . . . . . . . . . . . . . . . . 88
Top   ToC   RFC6505 - Page 4

1. Introduction

The Media Control Channel Framework [RFC6230] provides a generic approach for establishment and reporting capabilities of remotely initiated commands. The Control Framework -- an equivalent term for the Media Control Channel Framework -- utilizes many functions provided by the Session Initiation Protocol (SIP) [RFC3261] for the rendezvous and establishment of a reliable channel for control interactions. The Control Framework also introduces the concept of a Control Package. A Control Package is an explicit usage of the Control Framework for a particular interaction set. This specification defines a package for media conference mixers and media connection mixers. This package defines mixer management elements for creating, modifying, and deleting conference mixers, elements for joining, modifying, and unjoining media streams between connections and conferences (including mixers between connections), as well as associated responses and notifications. The package also defines elements for auditing package capabilities and mixers. This package has been designed to satisfy media-mixing requirements documented in the Media Server Control Protocol Requirements document [RFC5167]; more specifically REQ-MCP-22, REQ-MCP-23, REQ-MCP-24, REQ-MCP-25, REQ-MCP-26, and REQ-MCP-27. The package provides the major conferencing functionality of SIP media server languages such as MSCML [RFC5022] and MSML [RFC5707]. A key differentiator is that this package provides such functionality using the Media Control Channel Framework. Out of scope for this mixer package are more advanced functions including personalized video mixes for conference participants, support for floor control protocols, as well as support for video overlays and text insertion. Such functionality can be addressed by extensions to this package (through addition of foreign elements or attributes from another namespace) or use of other Control Packages that could build upon this package. The functionality of this package is defined by messages, containing XML [XML] elements and transported using the Media Control Channel Framework. The XML elements can be divided into two types: mixer management elements and audit elements (for auditing package capabilities and mixers managed by the package). The document is organized as follows. Section 3 describes how this Control Package fulfills the requirements for a Media Control Channel Framework Control Package. Section 4 describes the syntax and
Top   ToC   RFC6505 - Page 5
   semantics of defined elements, including mixer management
   (Section 4.2) and audit elements (Section 4.3).  Section 5 describes
   an XML schema for these elements and provides extensibility by
   allowing attributes and elements from other namespaces.  Section 6
   provides examples of package usage.  Section 7 describes important
   security considerations for use of this Control Package.  Section 8
   provides information on IANA registration of this Control Package,
   including its name, XML namespace, and MIME media type.

2. Conventions and Terminology

In this document, BCP 14 [RFC2119] defines the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL". In addition, BCP 15 indicates requirement levels for compliant implementations. The following additional terms are defined for use in this document: Application Server: A SIP [RFC3261] application server (AS) is a control client that hosts and executes services such as interactive media and conferencing in an operator's network. An AS controls the media server (MS), influencing and impacting the SIP sessions terminating on an MS, which the AS can have established, for example, using SIP third-party call control. Media Server: A media server (MS) processes media streams on behalf of an AS by offering functionality such as interactive media, conferencing, and transcoding to the end user. Interactive media functionality is realized by way of dialogs, which are identified by a URI and initiated by the application server. MS Conference: An MS Conference provides the media-related mixing resources and services for conferences. In this document, an MS Conference is often referred to simply as a conference. MS Connection: An MS connection represents the termination on a media server of one or more RTP [RFC3550] sessions that are associated to a single SIP dialog. A media server receives media from the output(s) of a connection, and it transmits media on the input(s) of a connection. Media Stream: A media stream on a media server represents a media flow between either a connection and a conference, between two connections, or between two conferences. Streams can be audio or video and can be bidirectional or unidirectional.
Top   ToC   RFC6505 - Page 6

3. Control Package Definition

This section fulfills the mandatory requirement for information that MUST be specified during the definition of a Control Framework Package, as detailed in Section 8 of [RFC6230].

3.1. Control Package Name

The Control Framework requires a Control Package definition to specify and register a unique name. The name and version of this Control Package is "msc-mixer/1.0" (Media Server Control - Mixer - version 1.0). Its IANA registration is specified in Section 8.1. Since this is the initial ("1.0") version of the Control Package, there are no backwards compatibility issues to address.

3.2. Framework Message Usage

The Control Framework requires a Control Package to explicitly detail the control messages that can be used as well as provide an indication of directionality between entities. This will include which role type is allowed to initiate a request type. This package specifies CONTROL and response messages in terms of XML elements defined in Section 4, where the message bodies have the MIME media type defined in Section 8.4. These elements describe requests, responses, and notifications, and all are contained within a root <mscmixer> element (Section 4.1). In this package, the MS operates as a Control Server in receiving requests from, and sending responses to, the AS (operating as a Control Client). Mixer management requests and responses are defined in Section 4.2. Audit requests and responses are defined in Section 4.3. Mixer management and audit responses are carried in a framework 200 response or REPORT message bodies. This package's response codes are defined in Section 4.6. Note that package responses are different from framework response codes. Framework error response codes (see Section 7 of [RFC6230]) are used when the request or event notification is invalid, for example, a request is invalid XML (400) or not understood (500). The MS also operates as a Control Client in sending event notification to the AS (Control Server). Event notifications (Section 4.2.4) are carried in CONTROL message bodies. The AS MUST respond with a Control Framework 200 response.
Top   ToC   RFC6505 - Page 7

3.3. Common XML Support

The Control Framework requires a Control Package definition to specify if the attributes for media dialog or conference references are required. This package requires that the XML schema in Appendix A.1 of [RFC6230] MUST be supported for media dialogs and conferences. The package uses 'connectionid' and 'conferenceid' attributes for various element definitions (Section 4). The XML schema (Section 5) imports the definitions of these attributes from the framework schema.

3.4. CONTROL Message Body

The Control Framework requires a Control Package to define the control body that can be contained within a CONTROL command request and to indicate the location of detailed syntax definitions and semantics for the appropriate body types. When operating as a Control Server, the MS receives CONTROL messages with the MIME media type defined in Section 8.4 and a body containing a <mscmixer> element (Section 4.1) with either a mixer management or audit request child element. The following mixer management request elements are carried in CONTROL message bodies to MS: <createconference> (Section 4.2.1.1), <modifyconference> (Section 4.2.1.2), <destroyconference> (Section 4.2.1.3), <join> (Section 4.2.2.2), <modifyjoin> (Section 4.2.2.3), and <unjoin> (Section 4.2.2.4) elements. The <audit> request element (Section 4.3.1) is also carried in CONTROL message bodies. When operating as a Control Client, the MS sends CONTROL messages with the MIME media type defined in Section 8.4 and a body containing a <mscmixer> element (Section 4.1) with a notification <event> child element (Section 4.2.4).

3.5. REPORT Message Body

The Control Framework requires a Control Package definition to define the REPORT body that can be contained within a REPORT command request, or to indicate that no report package body is required. This section indicates the location of detailed syntax definitions and semantics for the appropriate body types.
Top   ToC   RFC6505 - Page 8
   When operating as a Control Server, the MS sends REPORT bodies with
   the MIME media type defined in Section 8.4 and a <mscmixer> element
   with a response child element.  The response element for mixer
   management requests is a <response> element (Section 4.2.3).  The
   response element for an audit request is a <auditresponse> element
   (Section 4.3.2).

3.6. Audit

The Control Framework encourages Control Packages to specify whether auditing is available, how it is triggered, as well as the query/ response formats. This Control Package supports auditing of package capabilities and mixers on the MS. An audit request is carried in a CONTROL message and an audit response in a REPORT message (or a 200 response to the CONTROL if it can execute the audit in time). The syntax and semantics of audit request and response elements are defined in Section 4.3.

3.7. Examples

The Control Framework recommends Control Packages to provide a range of message flows that represent common flows using the package and this framework document. This Control Package provides examples of such message flows in Section 6.


(page 8 continued on part 2)

Next Section