view Side-By-Side changes
MMUSIC O. Levin, Ed. Internet-Draft Microsoft Corporation Expires:August 15, 2004September 4, 2006 R. Even Polycom P. Hagendorf RADVISIONFebruary 15, 2004March 03, 2006 XML Schema for Media Controldraft-levin-mmusic-xml-schema-media-control-03draft-levin-mmusic-xml-media-control-04 Status of this MemoThis documentBy submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she isan Internet-Draftaware have been or will be disclosed, andisany of which he or she becomes aware will be disclosed, infull conformanceaccordance withall provisions ofSection106 ofRFC2026.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 asInternet-Drafts.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 athttp:// www.ietf.org/ietf/1id-abstracts.txt.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 onAugust 15, 2004.September 4, 2006. Copyright Notice Copyright (C) The Internet Society(2004). All Rights Reserved.(2006). Abstract This document defines an XML Schema for Media Control in a tightly controlledenvironment. The current version includes commandsenvironment for managing of video streams only. Implementation of thisschemamechanism for interactive video applications in SIP environments significantly improves user experience. Levin, et al. ExpiresAugust 15, 2004September 4, 2006 [Page 1] Internet-Draft Media ControlFebruary 2004March 2006 Table of Contents 1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .43 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . .53 4. The Video Control Commands . . . . . . . . . . . . . . . . . .63 5. The Schema Definition . . . . . . . . . . . . . . . . . . . .74 6. Error Handling . . . . . . . . . . . . . . . . . . . . . . . .97 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . .10 8.7 7.1. TheSchema ApplicationsFast Update command for the full picture . . . . . . . 7 7.2. Reporting an error . . . . . . . . . . . . .12. . . . . . . 8 7.3. Freeze and Fast Update commands for the full picture . . . 8 7.4. Advanced XML schema usage . . . . . . . . . . . . . . . . 8 8. Transport . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . .139 10. URN for XML schema . . . . . . . . . . . . . . . . . . . . . .1510 11. Security Considerations . . . . . . . . . . . . . . . . . . .1611 12. Changes History . . . . . . . . . . . . . . . . . . . . . . . 11 12.1. Changes since-02-03 . . . . . . . . . . . . . . . . . . . . 12 12.2. Changes since -02 . .17 Normative. . . . . . . . . . . . . . . . . . 12 13. References . . . . . . . . . . . . . . . . . . . . .18 Informative. . . . . 12 13.1. Normative References . . . . . . . . . . . . . . . . . . . 12 13.2. Informative References . . . . . . . . . . .19. . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .19. . 14 Intellectual Property and Copyright Statements . . . . . . . .20. . 15 Levin, et al. ExpiresAugust 15, 2004September 4, 2006 [Page 2] Internet-Draft Media ControlFebruary 2004March 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[1]. Levin, et al. Expires August 15, 2004 [Page 3] Internet-Draft Media Control February 2004[3]. 2. Introduction This document defines an XML Schema for Media Control in a tightly controlledenvironment. The current version includes commandsenvironment for managing of video streams only. Implementation of this schema for interactive video applications in SIP[3][6] environments significantly improves user experience. Both end users and conferencing serversSHOULDneed to implement this mechanism.Levin, et al. Expires August 15, 2004 [Page 4] Internet-Draft Media Control February 20043. Background SIP typically uses RTP[6][8] 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 aboveTheses techniques address signaling of loss conditions and the recommended recovery steps.Currently, there is no standard wayJust recently an extension to the feedback mechanism has been proposed [11] to expressrequiredcontrol 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 describes the technology being deployed over the Internet for over the last three years and being used across real- time interactive applications from different vendors in interoperable manner. Of course, each command MUST be validated by the remote entity against current media capacity and network conditions before being executed. 4. The Video Control Commands Levin, et al. ExpiresAugust 15, 2004September 4, 2006 [Page5]3] Internet-Draft Media ControlFebruary 2004 4. The Video Control CommandsMarch 2006 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 FreezeLevin, et al. Expires August 15, 2004 [Page 6] Internet-Draft Media Control February 2004Note 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. 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: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> 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">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" Levin, et al. Expires September 4, 2006 [Page 6] Internet-Draft Media Control March 2006 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 20046. 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 20047. Examples 7.1. The Fast Update command for the full picture In the following example the"Freeze" and thefull picture "Fast Update"commands arecommand is issued towards the remote videodecoder(s) and remote video encoder(s) respectively fordecoder(s). Note that this primitive is supported by allvideo streams.known implementaions. <?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><picture_fast_update/> </to_encoder> </vc_primitive> </media_control> Levin, et al. Expires September 4, 2006 [Page 7] Internet-Draft Media Control March 2006 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. <?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 demonstrates7.3. Freeze and Fast Update commands for the fullformat ofpicture In the following example thedefined schema. The"Freeze"command isand the full picture "Fast Update" commands are issued towards the remote video decoder(s)to be appliedand 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"[5][7] values "1" and "2". The GOB "Fast Update" command is issued towards the remote Levin, et al. Expires September 4, 2006 [Page 8] Internet-Draft Media Control March 2006 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_primitivestream=“mid”>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 20048.The Schema ApplicationsTransport 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 registeringThis document registers 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 Levin, et al. Expires September 4, 2006 [Page 9] Internet-Draft Media Control March 2006 MIME subtype name: media_control+xml Required parameters: None Optional parameters: charset See RFC 3023[7][5] for a discussion of the charset parameter onXML-derivedXML- 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 thisthisMIME type are discussed in RFC xxxx [[Note to RFC editor: replace xxxx with the RFC number of this document when published]]. RFC 1874[8][1] and RFC 3023[7][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. File Extension(s): None. Macintosh File Type Code(s): None. Object Identifier(s) or OID(s): None. Intended usage: Limited UseLevin, et al. Expires August 15, 2004 [Page 13] Internet-Draft Media Control February 2004Other 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_control Levin, et al. ExpiresAugust 15, 2004September 4, 2006 [Page14]10] Internet-Draft Media ControlFebruary 2004 10. URN for XML schema URI: urn:ietf:params:xml:ns:media_controlMarch 2006 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> ENDLevin, et al. Expires August 15, 2004 [Page 15] Internet-Draft Media Control February 200411. Security Considerations This documentdoesn’tdoesn't introduce new securityrequirementsconsiderations beyond covered in [4]. 12. Changes History Levin, et al. ExpiresAugust 15, 2004September 4, 2006 [Page16]11] Internet-Draft Media ControlFebruary 2004 12.March 2006 12.1. Changes since -03 o 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. o The XML schema is identical to version -03. 12.2. 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 200413. 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.[2] Turletti, T., "RTP Payload Format for H.261 Video Streams",[4] Donovan, S., "The SIP INFO Method", RFC2032,2976, October1996. [3]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.M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002.[4] Donovan, S., "The SIP INFO Method", RFC 2976, October 2000. [5][7] Camarillo, G., Eriksson, G., Holler,J.J., and H. Schulzrinne, "Grouping of Media Lines in the Session Description Protocol (SDP)", RFC 3388, December 2002.[6][8] Schulzrinne, H., Casner, S., Frederick,R.R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, 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 2004BCP 81, RFC 3688, January 2004. 13.2. Informative References [10] Ott, J. and S. Wenger, "Extended RTP Profile for RTCP-based Feedback(RTP/AVPF)",draft-ietf-avt-rtcp-feedback-08draft-ietf-avt-rtcp-feedback-11 (work in progress),FebruaryAugust 2004. Levin, et al. Expires September 4, 2006 [Page 12] Internet-Draft Media Control March 2006 [11] Wenger, S., "Codec Control Messages in the Audio-Visual Profile with Feedback (AVPF)", draft-wenger-avt-avpf-ccm-02 (work in progress), February 2006. Levin, et al. Expires September 4, 2006 [Page 13] Internet-Draft Media Control March 2006 Authors' Addresses Orit Levin (editor) Microsoft Corporation One Microsoft Way Redmond, WA 98052 USAEMail:Email: oritl@microsoft.com Roni Even Polycom 94 Derech Em Hamoshavot Petach Tikva, 49130 IsraelEMail:Email: roni.even@polycom.co.il Pierre Hagendorf RADVISION 24, Raul Wallenberg St. Tel-Aviv, 69719 IsraelEMail:Email: pierre@radvision.com Levin, et al. ExpiresAugust 15, 2004September 4, 2006 [Page19]14] Internet-Draft Media ControlFebruary 2004March 2006 Intellectual Property Statement The IETF takes no position regarding the validity or scope of anyintellectual propertyIntellectual 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;neithernor does it represent that it has made any independent effort to identify any such rights. Information on theIETF'sprocedures with respect to rights instandards-track and standards-related documentationRFC documents can be found inBCP-11.BCP 78 and BCP 79. Copies ofclaims of rightsIPR disclosures madeavailable for publicationto 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 byimplementorsimplementers or users of this specification can be obtained from the IETFSecretariat.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 rightswhichthat may cover technology that may be required topracticeimplement this standard. Please address the information to the IETFExecutive 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 purposeat ietf-ipr@ietf.org. Disclaimer ofdeveloping 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.Validity This document and the information contained hereinisare 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 FORCEDISCLAIMSDISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATIONLevin, et al. Expires August 15, 2004 [Page 20] Internet-Draft Media Control February 2004HEREIN 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. ExpiresAugust 15, 2004September 4, 2006 [Page21]15] ----