view Side-By-Side changes
MMUSIC O. Levin, Ed. Internet-Draft Microsoft Corporation Expires:SeptemberNovember 4, 2006 R. Even Polycom P. Hagendorf RADVISIONMarchMay 03, 2006 XML Schema for Media Controldraft-levin-mmusic-xml-media-control-04draft-levin-mmusic-xml-media-control-05 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 onSeptemberNovember 4, 2006. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document defines an XML Schema forMedia Controlvideo fast update in a tightly controlledenvironment for managing of video streams only.environment. Implementation of this mechanism for interactive video applications in SIP environments significantly improves user experience. Levin, et al. ExpiresSeptemberNovember 4, 2006 [Page 1] Internet-Draft Media ControlMarchMay 2006 Table of Contents 1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. The Video Control Commands . . . . . . . . . . . . . . . . . . 3 5. The Schema Definition . . . . . . . . . . . . . . . . . . . .45 6. Error Handling . . . . . . . . . . . . . . . . . . . . . . . .76 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . .76 7.1. The Fast Update command for the full picture . . . . . . .76 7.2. Reporting an error . . . . . . . . . . . . . . . . . . . .8 7.3. Freeze and Fast Update commands for the full picture6 8. Transport . . .8 7.4. Advanced XML schema usage. . . . . . . . . . . . . . . .8 8. Transport. . . . . . . 7 9. IANA Considerations . . . . . . . . . . . . . . . . . . .9 9. IANA Considerations. . 7 10. URN for XML schema . . . . . . . . . . . . . . . . . . .9 10. URN for XML schema. . . 8 11. Security Considerations . . . . . . . . . . . . . . . . . . .10 11. Security Considerations9 12. Changes History . . . . . . . . . . . . . . . . . . .11 12. Changes History. . . . 9 12.1. Changes since -04 . . . . . . . . . . . . . . . . . . . .11 12.1.9 12.2. Changes since -03 . . . . . . . . . . . . . . . . . . . .12 12.2.9 12.3. Changes since -02 . . . . . . . . . . . . . . . . . . . .129 13. References . . . . . . . . . . . . . . . . . . . . . . . . . .1210 13.1. Normative References . . . . . . . . . . . . . . . . . . .1210 13.2. Informative References . . . . . . . . . . . . . . . . . .1210 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .1411 Intellectual Property and Copyright Statements . . . . . . . . . .1512 Levin, et al. ExpiresSeptemberNovember 4, 2006 [Page 2] Internet-Draft Media ControlMarchMay 2006 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 [3]. 2. Introduction This document defines an XML Schema forMedia Controlvideo fast update request in a tightly controlledenvironment for managing of video streams only.environment. Implementation of this schema for interactive video applications in SIP [6] environments significantly improves user experience.BothThis mecahnism may be used by both end users video conferencing terminals and conferencingservers need to implement this mechanism.servers. 3. Background SIP typically uses RTP[8][7] 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][9] 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). Theses techniques address signaling of loss conditions and the recommended recovery steps. Just recently an extension to the feedback mechanism has been proposed[11][10] 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 mechanism will require proprietary communications between the applications/call control components and the media components. This document describesthean alternative technology being has been deployedover the Internetin SIP based systems for over the last three years and being used acrossreal- timereal-time interactive applications from different vendors in interoperable manner.Of course, each command MUST be validated byThis memo documents this alternative technology for theremote entity againstpurpose of describing currentmedia capacitypractice andnetwork conditions before being executed.new implementation are expected to use [10] 4. The Video Control CommandsLevin, et al. Expires September 4, 2006 [Page 3] Internet-Draft Media Control March 2006Output of a video CODEC is a frame. The frame can carry complete (in time) information about a picture or about a picture segment. These Levin, et al. Expires November 4, 2006 [Page 3] Internet-Draft Media Control May 2006 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 thepicture.Additionally, in case the encoder is aware of upcoming changes in the transmitted stream (that would resultThe fast update command, defined insynchronization lost by the decoder), the encoder needs tothis document, MUST beable to request the decoder to freeze the picture, i.e. to stop presentingvalidated by thechanges until a new stable image is encodedremote entity against current media capacity andtransmitted.network conditions before being executed. In order to meet the presented requirements,foura videoprimitives areprimitive is defined by this document. The followingcommands arecommand is sent to the remote encoder: o Video Picture Fast Updateo 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 Note that out of all the defined primitives only the "Video Picture Fast Update" is currently being used by the known implementations. The rest of the primitives are being ignored.Levin, et al. Expires November 4, 2006 [Page 4] Internet-Draft Media Control May 2006 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">Levin, et al. Expires September 4, 2006 [Page 4] Internet-Draft Media Control March 2006<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:elementname="to_decoder" type="to_decoder" /> </xsd:choice> <xsd:elementname="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> Levin, et al. Expires September 4, 2006 [Page 5] Internet-Draft Media Control March 2006 <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"> <xsd:sequence> <xsd:element name="picture_freeze" /> </xsd:sequence></xsd:complexType> <!-- EncoderCommands:Command: Picture Fast UpdateGOB Fast Update MB Fast Update--> <xsd:complexType name="to_encoder"> <xsd:choice> <xsd:elementname="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" />name="picture_fast_update"/> </xsd:choice> </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"</xsd:schema> Levin, et al. ExpiresSeptemberNovember 4, 2006 [Page6]5] Internet-Draft Media ControlMarchMay 2006default="1" /> <xsd:attribute name="no_of_mbs" type="xsd:nonNegativeInteger" use="optional" default="1" /> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:complexType> </xsd:schema>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. 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 implementaions. <?xml version="1.0" encoding="utf-8" ?> <media_control> <vc_primitive> <to_encoder> <picture_fast_update/> </to_encoder> </vc_primitive> </media_control>Levin, et al. Expires September 4, 2006 [Page 7] Internet-Draft Media Control March 20067.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. <?xml version="1.0" encoding="utf-8" ?> <media_control> <general_error> Parsing error: The original XML segment is:... </general_error></media_control> 7.3. Freeze and Fast Update commands for the full picture 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> 7.4. Advanced XML schema usage 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" [7] values "1" and "2". The GOB "Fast Update" command is issued towards the remoteLevin, et al. ExpiresSeptemberNovember 4, 2006 [Page8]6] Internet-Draft Media ControlMarchMay 2006video encoder to be applied to a video stream with "mid" value "3". <?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> 8. Transport 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. This document registers the defined schema with IANA according to the guidelines specified in[9][8] . 9. IANA Considerations Application/media_control+xml MIME type MIME Media Type Name: applicationLevin, et al. Expires September 4, 2006 [Page 9] Internet-Draft Media Control March 2006MIME subtype name: media_control+xml Required parameters: None Optional parameters: charset See RFC 3023 [5] 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 MIME 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 [5] 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. Levin, et al. Expires November 4, 2006 [Page 7] Internet-Draft Media Control May 2006 File Extension(s): None. Macintosh File Type Code(s): None. Object Identifier(s) or OID(s): None. Intended usage: Limited Use 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. 10. URN for XML schema URI: urn:ietf:params:xml:ns:media_controlLevin, et al. Expires September 4, 2006 [Page 10] Internet-Draft Media Control March 2006Description: 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: Levin, et al. Expires November 4, 2006 [Page 8] Internet-Draft Media Control May 2006 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 11. Security Considerations This document doesn't introduce new security considerations beyond covered in [4]. 12. Changes HistoryLevin, et al. Expires September 4, 2006 [Page 11] Internet-Draft Media Control March 200612.1. Changes since -04 This version defines only the picture fast update comand 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 12.2. Changes since -03oThis version reflects the deployment experience since the defined mechanism has been implemented and tested among the vendors represented by the authors of this document.oThe XML schema is identical to version -03.12.2.12.3. Changes since -02oThis version contains editorial changes only.oThe XML schema is identical to version -02. Levin, et al. Expires November 4, 2006 [Page 9] Internet-Draft Media Control May 2006 13. References 13.1. Normative References [1] Levinson, E., "SGML Media Types", RFC 1874, December 1995. [2] Turletti, T., "RTP Payload Format for H.261 Video Streams", RFC 2032, October 1996. [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [4] Donovan, S., "The SIP INFO Method", RFC 2976, October 2000. [5] Murata, M., St. Laurent, S., and D. Kohn, "XML Media Types", RFC 3023, January 2001. [6] 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. [7]Camarillo, G., Eriksson, G., Holler, J., and H. Schulzrinne, "Grouping of Media Lines in the Session Description Protocol (SDP)", RFC 3388, December 2002. [8]Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003.[9][8] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. 13.2. Informative References[10][9] Ott, J. and S. Wenger, "Extended RTP Profile for RTCP-based Feedback(RTP/AVPF)",draft-ietf-avt-rtcp-feedback-11draft-ietf-avt-rtcp-feedback-07 (work in progress),August 2004. Levin, et al. Expires September 4, 2006 [Page 12] Internet-Draft Media Control March 2006 [11]June 2003. [10] Wenger, S., "Codec Control Messages in the Audio-Visual Profile with Feedback (AVPF)",draft-wenger-avt-avpf-ccm-02draft-wenger-avt-avpf-ccm-03 (work in progress),FebruaryMarch 2006. Levin, et al. ExpiresSeptemberNovember 4, 2006 [Page13]10] Internet-Draft Media ControlMarchMay 2006 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. ExpiresSeptemberNovember 4, 2006 [Page14]11] Internet-Draft Media ControlMarchMay 2006 Intellectual Property Statement 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. Disclaimer of Validity 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 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. Copyright Statement Copyright (C) The Internet Society (2006). 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. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Levin, et al. ExpiresSeptemberNovember 4, 2006 [Page15]12] ----