MMUSIC                                                          O. Levin
Internet-Draft                                     Microsoft Corporation
Intended status: Informational                                   R. Even
Expires: May 10, 2008                                            Polycom
                                                            P. Hagendorf
                                                               RADVISION
                                                        November 7, 2007


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

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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 May 10, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

Abstract

   This document defines an Extensible Markup Language (XML) Schema for
   video fast update in a tightly controlled environment, developed by
   Microsoft, Polycom, Radvision and used by multiple vendors.  This
   document describes a method that has been deployed in Session
   Initiation Protocol (SIP) based systems for over the last three years



Levin, et al.             Expires May 10, 2008                  [Page 1]


Internet-Draft                Media Control                November 2007


   and being used across real-time interactive applications from
   different vendors in interoperable manner.  New implementations are
   discouraged from using the described method described except for
   backward compatibility purposes.  New Implementations are required to
   use the new full intra request command in the Real-time Transport
   Control Protocol (RTCP) channel.


Table of Contents

   1.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Background . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  The Video Control Commands . . . . . . . . . . . . . . . . . .  4
   5.  The Schema Definition  . . . . . . . . . . . . . . . . . . . .  5
   6.  Error Handling . . . . . . . . . . . . . . . . . . . . . . . .  6
   7.  Examples . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     7.1.  The Fast Update command for the full picture . . . . . . .  6
     7.2.  Reporting an error . . . . . . . . . . . . . . . . . . . .  6
   8.  Transport  . . . . . . . . . . . . . . . . . . . . . . . . . .  7
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  7
     9.1.  Application/media_control+xml media type registration  . .  7
   10. Security Considerations  . . . . . . . . . . . . . . . . . . .  8
   11. Version History  . . . . . . . . . . . . . . . . . . . . . . .  8
     11.1. Changes since -04  . . . . . . . . . . . . . . . . . . . .  8
     11.2. Changes since -03  . . . . . . . . . . . . . . . . . . . .  9
     11.3. Changes since -02  . . . . . . . . . . . . . . . . . . . .  9
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     12.1. Normative References . . . . . . . . . . . . . . . . . . .  9
     12.2. Informative References . . . . . . . . . . . . . . . . . .  9
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
   Intellectual Property and Copyright Statements . . . . . . . . . . 11



















Levin, et al.             Expires May 10, 2008                  [Page 2]


Internet-Draft                Media Control                November 2007


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


2.  Introduction

   This document defines an Extensible Markup Language (XML) Schema for
   video fast update request in a tightly controlled environment,
   developed by Microsoft, Polycom, Radvision and used by multiple
   vendors.  Implementation of this schema for interactive video
   applications in Session Initiation Protocol (SIP) [5] environments
   was designed in order to improve user experience.  This mechanism is
   being used by both end user video conferencing terminals and
   conferencing servers in shipping products.  This document describes
   the current method, but new implementations are discouraged from
   using this method, except for backward compatibility with legacy
   systems.  Shipping products and new products SHALL use the full intra
   request described in [7].

   Sending video fast update using the SIP signaling path, as described
   in this document, is inferior to using the Real-time Transport
   Control Protocol (RTCP) feedback method[7], since the command flows
   through all the proxies in the signaling path adding delay to the
   messages and causing unnecessary overload to the proxies.  RTCP
   messages flow end to end and not through the signaling proxies.  The
   RTCP feedback draft[7] also adds other required control functions,
   such as flow control command which is missing from this document.


3.  Background

   SIP typically uses the Real-time Transport Protocol (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 [8] has been introduced in order to
   improve basic RTCP feedback time in case of loss conditions across
   different coding schemes.  This technique addresses signaling of loss
   conditions and the recommended recovery steps.

   Just recently an extension to the feedback mechanism has been
   proposed [7] to express control operations on media streams as a
   result of application logic rather than a result of loss conditions.
   Note that in the decomposed systems the implementation of the new



Levin, et al.             Expires May 10, 2008                  [Page 3]


Internet-Draft                Media Control                November 2007


   mechanism will require proprietary communications between the
   applications/call control components and the media components.

   This document describes a technology that has been deployed in SIP
   based systems for over the last three years and being used across
   real-time interactive applications from different vendors in
   interoperable manner.  This memo documents this technology for the
   purpose of describing current practice and new implementation MUST
   use the RTCP full intra request command specified in the RTCP based
   codec control messages document[7].


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.

   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.

   The fast update command, defined in this document, MUST be validated
   by the remote entity against current media capacity and network
   conditions before being executed.

   In order to meet the presented requirements, a video primitive is
   defined by this document.

   The following command is sent to the remote encoder:

   o  Video Picture Fast Update















Levin, et al.             Expires May 10, 2008                  [Page 4]


Internet-Draft                Media Control                November 2007


5.  The Schema Definition

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

   <xs:schema id="TightMediaControl"
    elementFormDefault="qualified"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema">


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

           <!-- Video control primitive.  -->

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

           <!-- Encoder Command:
                Picture Fast Update
           -->

           <xs:complexType name="to_encoder">
                   <xs:choice>
                           <xsd:element name="picture_fast_update"/>
                   </xs:choice>
           </xs:complexType>
   </xs:schema>





Levin, et al.             Expires May 10, 2008                  [Page 5]


Internet-Draft                Media Control                November 2007


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.

   When receiving the general error response, the UAC that sent the
   request SHOULD NOT send further fast update requests in the current
   dialog.

   According to RFC 2976 [3], the only allowable final response to a SIP
   INFO containing a message body is a 200 OK.  If SIP INFO is used to
   carry the request, the error message should be carried in a separate
   INFO request.


7.  Examples

7.1.  The Fast Update command for the full picture

   In the following example the full picture "Fast Update" command is
   issued towards the remote video decoder(s).  Note that this primitive
   is supported by all known implementations.

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

   <media_control>

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

   </media_control>

7.2.  Reporting an error

   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.



Levin, et al.             Expires May 10, 2008                  [Page 6]


Internet-Draft                Media Control                November 2007


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

   <media_control>

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

   </media_control>


8.  Transport

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


9.  IANA Considerations

   This document registers a new media type.

9.1.  Application/media_control+xml media type registration

   Type name:   application
   Subtype name:   media_control+xml
   Required parameters:   None
   Optional parameters:   charset

   Indicates the character encoding of enclosed XML.

   Encoding considerations:   8bit
      Uses XML, which can employ 8-bit characters, depending on the
      character encoding used.  See RFC 3023 [4], Section 3.2.
   Security considerations:   Security considerations specific to uses
      of this type are discussed in RFC xxxx [[Note to RFC editor:
      replace xxxx with the RFC number of this document when
      published]].  RFC 1874 [1] and RFC 3023 [4] discuss security
      issues common to all uses of XML.
   Interoperability considerations:   None.
   Published specification:   RFC xxxx [[Note to RFC editor: replace
      xxxx with the RFC number of this document when published]]
   Applications that 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:



Levin, et al.             Expires May 10, 2008                  [Page 7]


Internet-Draft                Media Control                November 2007


   Magic Number(s):   None.
   File Extension(s):   None.
   Macintosh File Type Code(s):   None.

   Person and email address to contact for further information:

   Name:  Roni Even
   E-Mail:  even.roni@gmail.com

   Intended usage: LIMITED USE

   Restrictions on usage: None.

   Author: Roni Even. <even.roni@gmail.com>

   Change Controller: Roni Even. <even.roni@gmail.com>


10.  Security Considerations

   The video control command transported using the method described in
   the document may cause the sender of the video data to send more data
   within the allowed bandwidth as described in section 4.

   The document defines one control message; changing the content of the
   message will cause the video sender to ignore the request and send an
   error response.  This may prevent the display of a video stream.  The
   control message itself does not carry any sensitive information.

   An eavesdropper may inject messages or change them which may lead to
   either more data on the network or loss of video image.  Using data
   integrity validation will prevent adding or changing of messages.

   If the video media is sent over a secure transport it is recommended
   to secure the signaling using TLS.  In most cases securing the media
   will require a secure signaling path.

   This document does not introduce new security considerations beyond
   those covered in [3].


11.  Version History

11.1.  Changes since -04

   This version defines only the picture fast update command since the
   rest of the commands are not use by shipping products.  The document
   now states that RTCP feedback is to be used in new implementations.



Levin, et al.             Expires May 10, 2008                  [Page 8]


Internet-Draft                Media Control                November 2007


11.2.  Changes since -03

   This version reflects the deployment experience since the defined
   mechanism has been implemented and tested among the vendors
   represented by the authors of this document.

   The XML schema is identical to version -03.

11.3.  Changes since -02

   This version contains editorial changes only.

   The XML schema is identical to version -02.


12.  References

12.1.  Normative References

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

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

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

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

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

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

   [7]  Wenger, S., "Codec Control Messages in the RTP Audio-Visual
        Profile with Feedback  (AVPF)", draft-ietf-avt-avpf-ccm-10 (work
        in progress), December 2006.

12.2.  Informative References

   [8]  Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
        "Extended RTP Profile for Real-time Transport Control Protocol
        (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, July 2006.





Levin, et al.             Expires May 10, 2008                  [Page 9]


Internet-Draft                Media Control                November 2007


Authors' Addresses

   Orit Levin
   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 May 10, 2008                 [Page 10]


Internet-Draft                Media Control                November 2007


Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   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; nor does it 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.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





Levin, et al.             Expires May 10, 2008                 [Page 11]