view Side-By-Side changes
MMUSIC O.Levin Internet Draft RADVISION Document: draft-levin-mmusic-xml-media-control-02 S. OlsonLevin, Ed. Internet-Draft Microsoft Corporation Expires: August 15, 2004 R. Even PolycomExpires: September 2003 April 2003P. 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 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.txthttp:// 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: September 2003 1 XML Schema forExpires August 15, 2004 [Page 1] Internet-Draft Media Control February 2004 Table of ContentsSTATUS OF THIS MEMO......................................................1 ABSTRACT...............................................................1 INTRODUCTION...........................................................3 BACKGROUND............................................................3 THE VIDEO CONTROL COMMANDS..............................................3 THE SCHEMA DEFINITION....................................................4 ERROR HANDLING..........................................................5 EXAMPLES...............................................................6 THE SCHEMA APPLICATIONS..................................................7 CONVENTIONS USED IN THIS DOCUMENT..........................................7 IANA CONSIDERATIONS......................................................7 APPLICATION/MEDIA_CONTROL+XML MIME TYPE.........................................8 URN FOR XML SCHEMA.......................................................9 SECURITY CONSIDERATIONS.................................................10 AUTHOR'S ADDRESSES......................................................10 REFERENCES............................................................10 Levin, et al. Expires: March 2003 2 XML Schema for Media Control1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. IntroductionThis 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 [7] environments significantly improves user experience. Both end users and conferencing servers SHOULD implement this approach.. . . . . . . . . . . . . . . . . . . . . . . . . 4 3. BackgroundSIP 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. An RTCP feedback mechanism [4] 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 [5] only).. . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Theabove mentioned techniques address signaling of loss conditions and the recommended recovery steps. Currently, thereVideo 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 ratherthenthan a result of loss conditions. Of course, each commandSHALLMUST 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ö"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ö"Inter" frames. Some CODECs (such as H.261[2]andH.263 [3]),H.263), in addition to aôfullö"full" picture, have a notion of picture slices: MB (Macro Block) and GOB (Group Of Blocks). Based on application logic (such asa presentation ofneed 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ö"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 thedecoding sidedecoder to freeze the picture, i.e. to stop presenting thechanges,changes until a new stable image is encoded and transmitted. In order toachieve these requirements,meet thefollowingpresented requirements, four video primitives are definedbelow:by this document. The following commands are sent to the remote encoder: o Video Picture Fast UpdateRequesto Video GOB Fast UpdateRequest(first_GOB, no_of_GOBs) o Video MB Fast UpdateRequest(first_GOB, first_MB, no_of_MBs)These commands are to beThe following command is sent toathe remoteencoder.decoder: o Video Picture Freeze Levin, et al.Expires: March 2003 3 XML Schema forExpires August 15, 2004 [Page 6] Internet-Draft Media ControlVideo Picture Freeze Request This command is to be sent to a remote decoder.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" />Levin, et al. Expires: March 2003 4 XML Schema for Media Control<xsd:enumeration value="all" /> </xsd:restriction> </xsd:simpleType> <!-- Decoder commands: Currently onlypicture freezePicture 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: Picturerequest Group of Blocks request Macro Block requestFast 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 indicatingdifferent type oferrors inafree text format. The general error primitive MAY report problemsin theregarding XML document parsing, inadequate level of media control support, inability to perform the requested action, etc.Levin, et al. Expires: March 2003 5 XML Schema for Media ControlThe general error primitive MUST NOT be used for indication of errors otherthenthan related tothemedia control parsingand theor 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ö"Freeze" and the full pictureôFast Updateö"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ö"Freeze" command is issued towards the remote video decoder(s) to be applied to streams withômidö [9]"mid" [5] valuesô1ö"1" andô2ö."2". The GOBôFast Updateö"Fast Update" command is issued towards the remote video encoder to be applied to a video stream withômidö"mid" valueô3ö."3". Levin, et al.Expires: March 2003 6 XML Schema forExpires 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_primitivestream=ômidö>stream="mid"> <to_encoder> <mb_fast_updatefirst_gob=ô2ö first_mb=ô3ö no_of_mbs=ô4ö>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 ApplicationsAs the first step, theThe defined XML documentwill beis conveyed usingaSIP INFO method[8][4] with theôContent-Typeö"Content-Type" set toôapplication/media_control+xmlö."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[10][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 meansfor running this protocol as a part of SIP architecture. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpretedfor running this protocol asdescribed in RFC-2119 [1]. IANA Considerationsa part of SIP architecture. Levin, et al.Expires: March 2003 7 XML Schema forExpires 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[10][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[9][8] and RFC 3023[10][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 UseOther Information/General Comment: None.Levin, et al.Expires: March 2003 8 XML Schema forExpires August 15, 2004 [Page 13] Internet-Draft Media Control February 2004 Other Information/General Comment: None. Person to contact for further information: Name:Sean OlsonOrit Levin E-Mail:seanol@microsoft.comoritl@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:Sean OlsonOrit Levin E-Mail:seanol@microsoft.comoritl@microsoft.com Author/Change Controller: The specification of thisURN sub-namespaceMIME 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">"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: March 2003 9 XML Schema forExpires August 15, 2004 [Page 15] Internet-Draft Media Control</body> </html> ENDFebruary 2004 11. Security Considerations This documentdoesnÆtdoesn’t introduce new security requirements beyond covered in[7]. Author's[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 LevinRADVISION 266 Harristown Road Phone: +1-201-689-6330 Glen Rock, NJ USA Email: orit@radvision.com Sean Olson(editor) Microsoft Corporation One Microsoft WayPhone: +1-425-707-2846Redmond, WA 98052 USAEmail: seanol@microsoft.comEMail: oritl@microsoft.com Roni Even Polycom 94 Derech Em HamoshavotPhone: +972-3-9251200Petach Tikva, 49130 IsraelEmail:EMail: roni.even@polycom.co.ilReferences 1 RFC 2119 Bradner, S., "Key words forPierre 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 inRFCsthis 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 toIndicate Requirement Levels", BCP 14, RFC 2119, March 1997. 2 ITU-T Recommendation H.261 (1993), Video codec for audiovisual services at p . 64 kbit/s. 3 ITU-T Recommendation H.263 (1998), Video codingrights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available forlow bit rate communication. 4 J. Ott et al., ôExtended RTP Profilepublication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission forRTCP-based Feedback (RTP/AVPF)ö, draft-ietf-avt-rtcp-feedback-03.txt, June 2002,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 IETFDraft. WorkExecutive 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 inprogress. 5 T. Turlettiits implementation may be prepared, copied, published andC. Huitema, "RTP Payload Format for H.261 Video Streams, RFC 2032, October 1996. 6 H. Schulzrinne, S. Casner, R. Frederick,distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice andV. Jacobson, "RTP - A Transport Protocolthis 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 forReal-time Applications",the purpose of developing InternetDraft, draft-ietf-avt-rtp-new-11.txt, Workstandards inProgress, November 2001. 7 J. Rosenberg, H. Schulzrinne,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., "SIP: Session initiation protocol,"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 RFC3261, Internet Engineering Task Force, June 2002. 8 S. Donovan, ôThe SIP INFO Methodö, RFC2976,Editor function is currently provided by the InternetEngineering Task Force, October 2000. 9 Camarillo/Holler/Eriksson/Schulzrinne, "Grouping of m lines in SDP", draft-ietf-mmusic-fid-06.txt, Feb 2002, IETF Draft. Proposed Standard. 10 M. Mealling, "The IETF XML Registry", draft-mealling-iana-xmlns- registry-04.txt, June 2002, IETF draft. Work in progress.Society. Levin, et al.Expires: March 2003 10Expires August 15, 2004 [Page 21] ----