Internet DRAFT - draft-saleem-mediactrl-msml-package

draft-saleem-mediactrl-msml-package



Network Working Group                                         A. Saleem
Internet Draft                                                  S. Dunn
Intended status: Informational                                  Radisys
Expires: July 2015                                      January 4, 2015



           MSML Package for the Media Control Channel Framework
                draft-saleem-mediactrl-msml-package-05.txt


Abstract

   The Media Server Markup Language [RFC5707] is used to control and
   invoke many different types of services on IP media servers. MSML can
   be used, for example, to control media server conferencing features
   such as video layout and audio mixing, create sidebar conferences or
   personal mixes, and set the properties of media streams.  As well,
   clients can use MSML to define media processing dialogs, which may be
   used as parts of application interactions with users or conferences.
   This document describes the use of MSML [RFC5707] language used
   within the context of Media Control Channel Framework [RFC6230]. The
   use of MSML [RFC5707] is described here as a standalone package for
   use within and compliant with the Media Control Channel Framework
   [RFC6230].

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF). Note that other groups may also distribute working
   documents as Internet-Drafts. The list of current Internet-Drafts is
   at http://datatracker.ietf.org/drafts/current.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on July 4, 2015.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors. All rights reserved.




<Saleem, et al.>       Expires July 4, 2015                    [Page 1]

Internet-Draft  MSML Package for Media Control Channel     January 2015


   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.

Table of Contents


   1. Introduction...................................................2
   2. Control Package Definition.....................................3
      2.1. Control Package Name......................................3
      2.2. Framework Message Usage...................................3
      2.3. Common XML Support........................................4
      2.4. CONTROL Message Body......................................4
      2.5. REPORT Message Body.......................................5
      2.6. Audit.....................................................5
      2.7. Examples..................................................6
         2.7.1. Audio Conference with Active Speaker Notification....6
   3. Element Definitions............................................7
   4. Formal Syntax..................................................7
   5. Security Considerations........................................8
   6. IANA Considerations............................................8
      6.1. Control Package Registration..............................8
      6.2. URN Sub-Namespace Registration............................8
      6.3. XML Schema Registration...................................8
   7. References.....................................................8
      7.1. Normative References......................................8
      7.2. Informative References....................................9
   8. Acknowledgments................................................9

1. Introduction

   The architectural framework for media server control is described in
   [RFC5567] and forms the basis for Media Control Channel Framework
   [RFC6230]. In this framework, SIP is used by application servers to
   both terminate media streams on media servers and to create and
   manage media server control channels between themselves and media
   servers.

   The SIP based control channel framework is described in [RFC6230]. It
   describes the establishment (via SDP negotiation), use, and
   termination of a reliable transport (TCP) connection between


Saleem, et al.         Expires July 4, 2015                    [Page 2]

Internet-Draft  MSML Package for Media Control Channel     January 2015


   application server and media server for transport of media server
   control messages. The "COMEDIA" specification [RFC4145] for setting
   up and maintaining reliable connections is used as part of the
   negotiation mechanism.

   Control packages define a set of request, response, and notification
   messages that can be sent over a SIP control channel for managing
   services on a media server. The set of control packages supported by
   both the application server and the media server is negotiated as
   part of the control channel set up.

   This document extends the Media Control Channel Framework [RFC6230]
   by defining the MSML Package referred to in Section 3.2 of Media
   Server Markup Language [RFC5707].

2. Control Package Definition

   This section fulfills the mandatory requirements detailed in Section
   8 of [RFC6230] that MUST be specified in the definition of a new
   Control Framework Package. The Control Framework Package described in
   the subsequent sections MUST be functionality compliant with Media
   Server Markup Language, as described in detail in [RFC5707]. The XML
   schema and all features and functions of this package MUST be
   compliant to [RFC5707].

2.1. Control Package Name

   The Control Framework requires a Control Package to specify and
   register a unique name with IANA.

   The name of this Control Package is "msml/1.1" (Media Server Markup
   Language [RFC5707], version 1.1). The IANA registration of this
   package name is specified in section 7.

   Due to historic legacy versions of MSML IETF drafts leading up to
   [RFC5707] had originally started with version 1.0, this package MUST
   be compliant to [RFC5707] which is associated with version 1.1 of the
   Media Server Markup Language.

2.2. Framework Message Usage

   This section details the Framework messages that can be used over the
   established Media Control Framework channel as per [6230].

   The MSML Package supports the CONTROL method for a Control Client to
   send a request, response, or event message and the REPORT method for
   a Control Server to send updates and final responses.


Saleem, et al.         Expires July 4, 2015                    [Page 3]

Internet-Draft  MSML Package for Media Control Channel     January 2015


   The message bodies shall consist of MIME media types. The messages
   consist of XML encoded elements and attributes for requests,
   responses, and event notifications as defined in [RFC5707] and are
   contained within the root element <msml>.

   This package defines a client server interface where the media server
   acts as the server and typically application servers (or other
   network elements such as SIP endpoints) act as the clients. The
   client server interface defined by this package allows for many to
   one relationship between the clients and the media server.
   Additionally, this package also allows the media server to act as a
   client for certain transactions which require unsolicited event
   notifications, eg: DTMF digits or announcement play complete events,
   etc, to application servers.

   The scope of the package is defined in [RFC5707] which covers a wide
   variety of applications including, multimedia announcements,
   IVR/IVVR, multimedia conferencing, and numerous other services
   supported by this package where ever media plane processing is
   required.

   All transaction types defined by this package are independent of the
   transactions of the Media Control Framework itself, and are defined
   within [RFC5707].

2.3. Common XML Support

   This package requires that the XML schema as defined in [RFC5707]
   MUST be supported. This XML schema defines all transactions from
   Clients to Media Server as well as event notifications from Media
   Server to Clients.

2.4. CONTROL Message Body

   The Media 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.

   This package defines the Control message bodies with the MIME media
   type with XML encoded root element of <msml>, as defined within
   [RFC5707]. All other XML encoded requests are contained with the
   <msml> root element, such as <dialogstart> or <createconference> etc.
   The application server can include any child elements of <msml> in
   the CONTROL messages and MUST NOT include <result> or <event>
   elements.



Saleem, et al.         Expires July 4, 2015                    [Page 4]

Internet-Draft  MSML Package for Media Control Channel     January 2015


   The 200 response to a CONTROL message from the media server MUST
   include only the <result> element

   Media servers supporting this package MUST also support event
   notifications, as defined in [RFC5707], originated by the media
   server and contained within the CONTROL message. These event
   notifications are also MIME media type using XML encoding as defined
   they schema definition in [RFC5707].

   The media server MUST only include the <event> child elements in a
   CONTROL message and the 200 response to a CONTROL message from the
   application server SHOULD have a zero length empty body.

2.5. REPORT Message Body

   The Media Control Framework requires a Control Package definition to
   define the REPORT body that MAY be contained within a REPORT command
   request.

   This package defines the use of REPORT message which MUST comply with
   the XML schema defined in [RFC5707]. The REPORT message MUST contain
   a single <msml> element containing child elements as defined by the
   XML schema.

   The REPORT messages defined by this package MAY include any valid XML
   elements that can be in a 200 response to a CONTROL message as
   described in earlier section.

   A 200 response to a REPORT message SHOULD have a zero length empty
   body.

2.6. Audit

   This package MUST support the Audit request carried within the
   CONTROL message and the associated Audit response carried in the 200
   response to the CONTROL message.

   The Audit response alternately MAY be sent or carried within the
   REPORT message.

   The Audit requests and responses MUST be XML encoded as specified in
   [RFC5707]. The <audit> element contained within the root <msml>
   element defines the audit request and subsequently the audit response
   generated by the media server is XML encoded as defined in [RFC5707].





Saleem, et al.         Expires July 4, 2015                    [Page 5]

Internet-Draft  MSML Package for Media Control Channel     January 2015


2.7. Examples

   This section provides examples of using the MSML Control Package. The
   examples assume a Media Control channel has been established and
   synced between application server (AS) and media server (MS) as per
   [RFC6230].

   Additional examples of using MSML XML elements for conferencing,
   media processing dialogs, and auditing are provided in [RFC5707]

2.7.1. Audio Conference with Active Speaker Notification

   An audio conference is created with a request for Active Speaker
   Notifications (ASN). A caller is joined to the conference. An ASN
   event is sent to the application server.

   1. AS -> MS (Control Framework Message): CONTROL.

      - create conference and join participant

         CFW i387yeiqyiq CONTROL
         Control-Package: msml/1.1
         Content-Type: application/msml+xml
         Content-Length: 202

         <msml version="1.1">
         <createconference name="9piOd1287005361168169715739"
         deletewhen="nocontrol" term="true">
         <audiomix id="amix9piOd1287005361168169715739"
         samplerate="8000">
         <n-loudest n="4"/>
         <asn ri="10s" cvd:asth="-96"/>
         </audiomix>
         </createconference>
         <join id1="conf:9piOd1287005361168169715739"
         id2="conn:10.29.162.235060+1+52030002+12ebfaa0">
         <stream media="audio" dir="from-id1"/>
         <stream media="audio" dir="to-id1">
         <clamp dtmf="true"/>
         </stream>
         </join>
         </msml>

   2. MS -> AS (Control Framework Message): 200.




Saleem, et al.         Expires July 4, 2015                    [Page 6]

Internet-Draft  MSML Package for Media Control Channel     January 2015


         CFW i387yeiqyiq 200
         Content-Type: application/msml+xml
         Content-Length: 60

         <msml version="1.1">
         <result response="200">
         </result>
         </msml>


   3. MS -> AS (Control Framework Message): CONTROL.

         - Active speaker event



         CFW abcdefghi CONTROL
         Control-Package: msml/1.1
         Content-Type: application/msml+xml
         Content-Length: 101

         <msml version="1.1">
         <event name="msml.conf.asn"
         id="conf:9piOd1287005361168169715739">
         <name>speaker</name>
         <value>conn:10.29.162.235060+1+52030002+12ebfaa0</value>
         </event>
         </msml>



   4. AS -> MS (Control Framework Message): 200.

         CFW abcdefghi 200

3. Element Definitions

   The XML elements for the MSML Package are described fully in
   [RFC5707].

4. Formal Syntax

   The XML Schema for the MSML Package is described in [RFC5707].





Saleem, et al.         Expires July 4, 2015                    [Page 7]

Internet-Draft  MSML Package for Media Control Channel     January 2015


5. Security Considerations

   The security measures employed by the Channel Framework are described
   in [RFC6230].

   Additional security considerations for MSML are described in
   [RFC5707].

6. IANA Considerations

6.1. Control Package Registration

   This section registers a new Media Control Channel Framework package
   as per the instructions in section 13.1 of [RFC6230].

   Package Name: msml/1.1

   Published Specification: RFC 5707

     Internet-Draft: MSML Package for the Media Control Channel
     Framework [draft-saleem-mediactrl-msml-package-01.txt]

   Person & email address to contact for further information:

      Adnan Saleem <adnan.saleem@radisys.com>

6.2. URN Sub-Namespace Registration

   The URN Sub-Namespace Registration for the MSML Package of Media
   Control Channel is defined in section 18.3 of [RFC5707].

6.3. XML Schema Registration

   The XML Schema Registration for the MSML Package of Media Control
   Channel is defined in section 18.4 of [RFC5707].

7. References

7.1. Normative References

   [RFC5707] Saleem, A., Xin, Y., Sharratt, G., "Media Server Markup
             Language", RFC 5707, February 2010

   [RFC6230] Boulton, C., Melanchuk, T., and S. McGlashan, "Media
             Control Channel Framework", RFC 6230, May 2011




Saleem, et al.         Expires July 4, 2015                    [Page 8]

Internet-Draft  MSML Package for Media Control Channel     January 2015


7.2. Informative References

   [RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in the
             Session Description Protocol (SDP)", RFC 4145, September
             2005.

   [RFC5567] Melanchuk, T., "An Architectural Framework for Media Server
             Control", RFC 5567, June 2009.

8. Acknowledgments

   This document was generated from initial inputs from Media Server
   Markup Language [RFC5707] and contributors to this RFC. Additional
   thanks for inputs and ideas on MSML MediaCtrl Package definition from
   Yong Xin, co-author of [RFC5707].


































Saleem, et al.         Expires July 4, 2015                    [Page 9]

Internet-Draft  MSML Package for Media Control Channel     January 2015


Authors' Addresses

Adnan Saleem
Radisys
4190 Still Creek Drive, Suite 300
Burnaby, BC, V5C 6C6
Canada
Email : adnan.saleem@radisys.com

Steve Dunn
Radisys
4190 Still Creek Drive, Suite 300
Burnaby, BC, V5C 6C6
Canada
Email : stephen.dunn@radisys.com




























Saleem, et al.         Expires July 4, 2015                   [Page 10]