MMUSIC O. Levin, Ed. Internet-Draft Microsoft Corporation Expires: September 4, 2006 R. Even Polycom P. Hagendorf RADVISION March 03, 2006 XML Schema for Media Control draft-levin-mmusic-xml-media-control-04 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 September 4, 2006. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document defines an XML Schema for Media Control in a tightly controlled environment for managing of video streams only. Implementation of this mechanism for interactive video applications in SIP environments significantly improves user experience. Levin, et al. Expires September 4, 2006 [Page 1] Internet-Draft Media Control March 2006 Table of Contents 1. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. The Video Control Commands . . . . . . . . . . . . . . . . . . 3 5. The Schema Definition . . . . . . . . . . . . . . . . . . . . 4 6. Error Handling . . . . . . . . . . . . . . . . . . . . . . . . 7 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7.1. The Fast Update command for the full picture . . . . . . . 7 7.2. Reporting an error . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . 9 10. URN for XML schema . . . . . . . . . . . . . . . . . . . . . . 10 11. Security Considerations . . . . . . . . . . . . . . . . . . . 11 12. Changes History . . . . . . . . . . . . . . . . . . . . . . . 11 12.1. Changes since -03 . . . . . . . . . . . . . . . . . . . . 12 12.2. Changes since -02 . . . . . . . . . . . . . . . . . . . . 12 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13.1. Normative References . . . . . . . . . . . . . . . . . . . 12 13.2. Informative References . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 Intellectual Property and Copyright Statements . . . . . . . . . . 15 Levin, et al. Expires September 4, 2006 [Page 2] Internet-Draft Media Control March 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 for Media Control in a tightly controlled environment for managing of video streams only. Implementation of this schema for interactive video applications in SIP [6] environments significantly improves user experience. Both end users and conferencing servers need to implement this mechanism. 3. Background SIP typically uses RTP [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). Theses techniques address signaling of loss conditions and the recommended recovery steps. Just recently an extension to the feedback mechanism has been proposed [11] 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 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. Expires September 4, 2006 [Page 3] Internet-Draft Media Control March 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 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. 5. The Schema Definition Levin, et al. Expires September 4, 2006 [Page 4] Internet-Draft Media Control March 2006 Levin, et al. Expires September 4, 2006 [Page 5] Internet-Draft Media Control March 2006 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. 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. Parsing error: The original XML segment is:... 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. 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 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". 1 2 3 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] . 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 [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. 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_control Levin, et al. Expires September 4, 2006 [Page 10] Internet-Draft Media Control March 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 Namespace for Tight Media Control

Namespace for Tight Media Control

application/media_control+xml

See RFCXXXX.

END 11. Security Considerations This document doesn't introduce new security considerations beyond covered in [4]. 12. Changes History Levin, et al. Expires September 4, 2006 [Page 11] Internet-Draft Media Control 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. 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] Mealling, M., "The IETF XML Registry", BCP 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-11 (work in progress), August 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 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 September 4, 2006 [Page 14] Internet-Draft Media Control March 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. Expires September 4, 2006 [Page 15]