tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info

RFC 6505

 Errata 
Proposed STD
Pages: 89
Top     in Index     Prev     Next
in Group Index     Prev in Group     Next in Group     Group: MEDIACTRL

A Mixer Control Package for the Media Control Channel Framework

Part 1 of 5, p. 1 to 8
None       Next RFC Part

 


Top       ToC       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.

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       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       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       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       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       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       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 RFC Part