MMUSIC                                                     O. Levin, Ed.
Internet-Draft                                     Microsoft Corporation
Expires: August 15, 2004                                         R. Even
                                                                 Polycom
                                                            P. Hagendorf
                                                               RADVISION
                                                       February 15, 2004


                      XML Schema for Media Control
            draft-levin-mmusic-xml-schema-media-control-03

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

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

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on August 15, 2004.

Copyright Notice

   Copyright (C) The Internet Society (2004). All Rights Reserved.

Abstract

   This document defines an XML Schema for Media Control in a tightly
   controlled environment. The current version includes commands for
   managing of video streams only. Implementation of this schema for
   interactive video applications in SIP environments significantly
   improves user experience.







Levin, et al.           Expires August 15, 2004                 [Page 1]


Internet-Draft               Media Control                 February 2004


Table of Contents

   1.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Background . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   4.  The Video Control Commands . . . . . . . . . . . . . . . . . .  6
   5.  The Schema Definition  . . . . . . . . . . . . . . . . . . . .  7
   6.  Error Handling . . . . . . . . . . . . . . . . . . . . . . . .  9
   7.  Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
   8.  The Schema Applications  . . . . . . . . . . . . . . . . . . . 12
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 13
   10. URN for XML schema . . . . . . . . . . . . . . . . . . . . . . 15
   11. Security Considerations  . . . . . . . . . . . . . . . . . . . 16
   12. Changes since -02  . . . . . . . . . . . . . . . . . . . . . . 17
       Normative References . . . . . . . . . . . . . . . . . . . . . 18
       Informative References . . . . . . . . . . . . . . . . . . . . 19
       Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 19
       Intellectual Property and Copyright Statements . . . . . . . . 20

































Levin, et al.           Expires August 15, 2004                 [Page 2]


Internet-Draft               Media Control                 February 2004


1. Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119 [1].














































Levin, et al.           Expires August 15, 2004                 [Page 3]


Internet-Draft               Media Control                 February 2004


2. Introduction

   This document defines an XML Schema for Media Control in a tightly
   controlled environment. The current version includes commands for
   managing of video streams only. Implementation of this schema for
   interactive video applications in SIP [3] environments significantly
   improves user experience. Both end users and conferencing servers
   SHOULD implement this mechanism.











































Levin, et al.           Expires August 15, 2004                 [Page 4]


Internet-Draft               Media Control                 February 2004


3. Background

   SIP typically uses RTP [6] for transferring of real time media.

   RTP is augmented by a control protocol (RTCP) to allow monitoring of
   the data delivery in a manner scalable to large multicast networks.
   The RTCP feedback mechanism [10] has been introduced in order to
   improve basic RTCP feedback time in case of loss conditions across
   different coding schemes. (Previously, a subset of this functionality
   was defined for H.261 [2] only).

   The mentioned above techniques address signaling of loss conditions
   and the recommended recovery steps. Currently, there is no standard
   way to express required operations on media streams as a result of
   application logic rather than a result of loss conditions.

   Of course, each command MUST be validated by the remote entity
   against current media capacity and network conditions before being
   executed.
































Levin, et al.           Expires August 15, 2004                 [Page 5]


Internet-Draft               Media Control                 February 2004


4. The Video Control Commands

   Output of a video CODEC is a frame. The frame can carry complete (in
   time) information about a picture or about a picture segment. These
   frames are known as "Intra" frames. In order to save bandwidth, other
   frames can carry only changes relative to previously sent frames.
   Frames carrying relative information are known as "Inter" frames.

   Some CODECs (such as H.261 and H.263), in addition to a "full"
   picture, have a notion of picture slices:  MB (Macro Block) and GOB
   (Group Of Blocks).

   Based on application logic (such as need to present a new video
   source), the application needs to have an ability to explicitly
   request from a remote encoder the complete (in-time) information
   about a "full" picture or a specific slice of the picture.

   Additionally, in case the encoder is aware of upcoming changes in the
   transmitted stream (that would result in synchronization lost by the
   decoder), the encoder needs to be able to request the decoder to
   freeze the picture, i.e. to stop presenting the changes until a new
   stable image is encoded and transmitted.

   In order to meet the presented requirements, four video primitives
   are defined by this document.

   The following commands are sent to the remote encoder:

   o  Video Picture Fast Update

   o  Video GOB Fast Update (first_GOB, no_of_GOBs)

   o  Video MB Fast Update (first_GOB, first_MB, no_of_MBs)

   The following command is sent to the remote decoder:

   o  Video Picture Freeze














Levin, et al.           Expires August 15, 2004                 [Page 6]


Internet-Draft               Media Control                 February 2004


5. The Schema Definition

   <?xml version="1.0" encoding="utf-8" ?>

   <xsd:schema id="TightMediaControl" targetNamespace="urn:ietf:params:xml:ns:media_control" elementFormDefault="qualified" xmlns=" urn:ietf:params:xml:ns:media_control" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

        <xsd:element name="media_control">
            <xsd:complexType>
               <xsd:sequence>
                  <xsd:element name="vc_primitive" type="vc_primitive" minOccurs="0" maxOccurs="unbounded" />
                  <xsd:element name="general_error" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
               </xsd:sequence>
            </xsd:complexType>
        </xsd:element>

        <!-- Video control primitive. Each primitive is directed either to a remote encode or to a remote decoder. -->
        <xsd:complexType name="vc_primitive">
           <xsd:sequence>
              <xsd:choice>
                  <xsd:element name="to_encoder" type="to_encoder" />
                  <xsd:element name="to_decoder" type="to_decoder" />
              </xsd:choice>
              <xsd:element name="stream_id" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
           </xsd:sequence>
           <xsd:attribute name="type" type="primitive_type" use="optional" default="cmd" />
           <xsd:attribute name="stream" type="stream_type" use="optional" default="all" />
        </xsd:complexType>

        <xsd:simpleType name="primitive_type">
                <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="cmd" />
                        <xsd:enumeration value="ind" />
                        <xsd:enumeration value="req" />
                        <xsd:enumeration value="rsp" />
                </xsd:restriction>
        </xsd:simpleType>

        <xsd:simpleType name="stream_type">
                <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="mid" />
                        <xsd:enumeration value="all" />
                </xsd:restriction>
        </xsd:simpleType>

        <!-- Decoder commands:
             Currently only Picture Freeze is defined.
        -->
        <xsd:complexType name="to_decoder">



Levin, et al.           Expires August 15, 2004                 [Page 7]


Internet-Draft               Media Control                 February 2004


           <xsd:sequence>
              <xsd:element name="picture_freeze" />
           </xsd:sequence>
        </xsd:complexType>


        <!-- Encoder Commands:
             Picture Fast Update
             GOB Fast Update
             MB Fast Update
        -->


        <xsd:complexType name="to_encoder">
            <xsd:choice>
                <xsd:element name="picture_fast_update" />
                <xsd:element name="gob_fast_update">
                    <xsd:complexType>
                        <xsd:attribute name="first_gob" type="xsd:nonNegativeInteger" use="optional" default="0" />
                        <xsd:attribute name="no_of_gobs" type="xsd:nonNegativeInteger" use="optional" default="1" />
                    </xsd:complexType>
                </xsd:element>
                <xsd:element name="mb_fast_update">
                   <xsd:complexType>
                       <xsd:attribute name="first_gob" type="xsd:nonNegativeInteger" use="optional" default="0" />
                           <xsd:attribute name="first_mb"  type="xsd:nonNegativeInteger" use="optional" default="1" />
                       <xsd:attribute name="no_of_mbs" type="xsd:nonNegativeInteger" use="optional" default="1" />
                   </xsd:complexType>
                </xsd:element>
            </xsd:choice>
        </xsd:complexType>

   </xsd:schema>


















Levin, et al.           Expires August 15, 2004                 [Page 8]


Internet-Draft               Media Control                 February 2004


6. Error Handling

   Currently, only a single general error primitive is defined. It MAY
   be used for indicating errors in free text format. The general error
   primitive MAY report problems regarding XML document parsing,
   inadequate level of media control support, inability to perform the
   requested action, etc.

   The general error primitive MUST NOT be used for indication of errors
   other than related to media control parsing or to resultant
   execution. The general error primitive MUST NOT be sent back as a
   result of getting an error primitive.







































Levin, et al.           Expires August 15, 2004                 [Page 9]


Internet-Draft               Media Control                 February 2004


7. Examples

   In the following example the "Freeze" and the full picture "Fast
   Update" commands are issued towards the remote video decoder(s) and
   remote video encoder(s) respectively for all video streams.

   <?xml version="1.0" encoding="utf-8" ?>

   <media_control>

     <vc_primitive>
       <to_decoder>
         <picture_freeze>
         </picture_freeze>
       </to_decoder>
     </vc_primitive>

     <vc_primitive>
       <to_encoder>
         <picture_fast_update>
         </picture_fast_update>
       </to_encoder>
     </vc_primitive>

   </media_control>

   If an error occurs during the parsing of the XML document, the
   following XML document would be sent back to the originator of the
   original Media Control document.

   <?xml version="1.0" encoding="utf-8" ?>

   <media_control>

     <general_error>
      Parsing error: The original XML segment is:...
     </general_error>

   </media_control>

   The following example demonstrates the full format of the defined
   schema. The "Freeze" command is issued towards the remote video
   decoder(s) to be applied to streams with "mid" [5]  values "1" and
   "2".  The GOB "Fast Update" command is issued towards the remote
   video encoder to be applied to a video stream with "mid" value "3".






Levin, et al.           Expires August 15, 2004                [Page 10]


Internet-Draft               Media Control                 February 2004


   <?xml version="1.0" encoding="utf-8" ?>

   <media_control>

     <vc_primitive stream=“mid”>
       <to_decoder >
         <picture_freeze>
         </picture_freeze>
       </to_decoder>

       <stream_id>1</stream_id>
       <stream_id>2</stream_id>

     </vc_primitive>

     <vc_primitive stream="mid">
       <to_encoder>
         <mb_fast_update first_gob="2" first_mb="3" no_of_mbs="4">       </mb_fast_update>
       </to_encoder>

       <stream_id>3</stream_id>

     </vc_primitive>

   </media_control>


























Levin, et al.           Expires August 15, 2004                [Page 11]


Internet-Draft               Media Control                 February 2004


8. The Schema Applications

   The defined XML document is conveyed using SIP INFO method [4] with
   the "Content-Type" set to "application/media_control+xml". This
   approach benefits from the SIP built-in reliability.

   The authors plan registering the defined schema with IANA according
   to the guidelines specified in [9] and issuing a separate SIPPING
   usage document(s). The document(s) will describe procedures for
   conveying an XML document defined according to the Schema by means of
   SIP INFO and SIP NOTIFY.

   The authors hope that the XML schema, documented in this document,
   will provide a base for a standard Tight Media Control protocol
   definition within the IETF. It is expected that in future SIP will
   define standard means for running this protocol as a part of SIP
   architecture.


































Levin, et al.           Expires August 15, 2004                [Page 12]


Internet-Draft               Media Control                 February 2004


9. IANA Considerations

   Application/media_control+xml MIME type

   MIME Media Type Name:  application

   MIME subtype name:  media_control+xml

   Required parameters:  None

   Optional parameters:  charset

   See RFC 3023 [7] for a discussion of the charset parameter on
   XML-derived MIME types.  Since this MIME type is used exclusively in
   SIP, the use of UTF-8 encoding is strongly encouraged.

   Encoding considerations:  8-bit text

   Security considerations:  Security considerations specific to uses of
      this this MIME type are discussed in RFC xxxx [[Note to RFC
      editor: replace xxxx with the RFC number of this document when
      published]].  RFC 1874 [8] and RFC 3023 [7] discuss security
      issues common to all uses of XML.

   Interoperability considerations:  The use of this MIME body is
      intended to be generally interoperable. No unique considerations
      have been identified.

   Published specification:  RFC xxxx [[Note to RFC editor: replace xxxx
      with the RFC number of this document when published]]

   Applications which use this media type:  This media type is used to
      convey information regarding media control commands and responses
      between SIP endpoints particularly for allowing a Video Fast
      Update intra-frame request.

   Additional information:

   Magic Number(s):  None.

   File Extension(s):  None.

   Macintosh File Type Code(s):  None.

   Object Identifier(s) or OID(s):  None.

   Intended usage: Limited Use




Levin, et al.           Expires August 15, 2004                [Page 13]


Internet-Draft               Media Control                 February 2004


   Other Information/General Comment: None.

   Person to contact for further information:

   Name: Orit Levin

   E-Mail: oritl@microsoft.com

   Author/Change Controller:

   The specification of this MIME type is an individual submission to
   the MMUSIC working group of the IETF. Change control of this
   specification is under control of the IETF WG.






































Levin, et al.           Expires August 15, 2004                [Page 14]


Internet-Draft               Media Control                 February 2004


10. URN for XML schema

   URI: urn:ietf:params:xml:ns:media_control

   Description:

   This is the XML namespace URI for XML elements defined by [RFCXXXX]
   to describe information exchanged between SIP endpoints for media
   control. It is used in the application/media_control+xml body type.

   Registrant Contact:

   Name: Orit Levin

   E-Mail: oritl@microsoft.com

   Author/Change Controller:

   The specification of this MIME type is an individual submission to
   the MMUSIC working group of the IETF. Change control of this
   specification is under control of the IETF WG.

   XML:


            BEGIN
              <?xml version="1.0"?>
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
                        "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                <meta http-equiv="content-type"
                   content="text/html;charset=utf-8"/>
                <title>Namespace for Tight Media Control</title>
              </head>
              <body>
                <h1>Namespace for Tight Media Control</h1>
                <h2>application/media_control+xml</h2>
                <p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p>
              </body>
              </html>
            END









Levin, et al.           Expires August 15, 2004                [Page 15]


Internet-Draft               Media Control                 February 2004


11. Security Considerations

   This document doesn’t introduce new security requirements beyond
   covered in [4].















































Levin, et al.           Expires August 15, 2004                [Page 16]


Internet-Draft               Media Control                 February 2004


12. Changes since -02

   o  This version contains editorial changes only.

   o  The XML schema is identical to version -02.














































Levin, et al.           Expires August 15, 2004                [Page 17]


Internet-Draft               Media Control                 February 2004


Normative References

   [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", BCP 14, RFC 2119, March 1997.

   [2]  Turletti, T., "RTP Payload Format for H.261 Video Streams", RFC
        2032, October 1996.

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

   [4]  Donovan, S., "The SIP INFO Method", RFC 2976, October 2000.

   [5]  Camarillo, G., Eriksson, G., Holler, J. and H. Schulzrinne,
        "Grouping of Media Lines in the Session Description Protocol
        (SDP)", RFC 3388, December 2002.

   [6]  Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson,
        "RTP: A Transport Protocol for Real-Time Applications", RFC
        3550, July 2003.

   [7]  Murata, M., St. Laurent, S. and D. Kohn, "XML Media Types", RFC
        3023, January 2001.

   [8]  Levinson, E., "SGML Media Types", RFC 1874, December 1995.

   [9]  Mealling, M., "The IETF XML Registry",
        draft-mealling-iana-xmlns-registry-05 (work in progress), June
        2003.





















Levin, et al.           Expires August 15, 2004                [Page 18]


Internet-Draft               Media Control                 February 2004


Informative References

   [10]  Ott, J. and S. Wenger, "Extended RTP Profile for RTCP-based
         Feedback(RTP/AVPF)", draft-ietf-avt-rtcp-feedback-08 (work in
         progress), February 2004.


Authors' Addresses

   Orit Levin (editor)
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA  98052
   USA

   EMail: oritl@microsoft.com


   Roni Even
   Polycom
   94 Derech Em Hamoshavot
   Petach Tikva,   49130
   Israel

   EMail: roni.even@polycom.co.il


   Pierre Hagendorf
   RADVISION
   24, Raul Wallenberg St.
   Tel-Aviv,   69719
   Israel

   EMail: pierre@radvision.com

















Levin, et al.           Expires August 15, 2004                [Page 19]


Internet-Draft               Media Control                 February 2004


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property 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; neither does it represent that it
   has made any effort to identify any such rights. Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11. Copies of
   claims of rights made available for publication 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 implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard. Please address the information to the IETF Executive
   Director.


Full Copyright Statement

   Copyright (C) The Internet Society (2004). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Levin, et al.           Expires August 15, 2004                [Page 20]


Internet-Draft               Media Control                 February 2004


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.











































Levin, et al.           Expires August 15, 2004                [Page 21]