Network Working Group P. Jones Request for Comments: 4102 Cisco Systems, Inc. Category: Standards Track June 2005 Registration of the text/red MIME Sub-Type Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document defines the text/red MIME sub-type. "Red" is short for redundant. The actual RTP packetization for this MIME type is specified in RFC 2198. 1. Introduction Text is an important component of any multimedia communication system. Like audio, the transport of text can benefit from the use of redundancy in order to improve reliability and end-user experience. RFC 2198 [1] defines an RTP [2] payload format for redundant audio data. The format defined in that document is quite suitable for providing redundancy for text, as well as audio. RFC 4103 [8] specifies one usage of RFC 2198 and the text/red MIME type for the transport of redundant text data. This memo provides the MIME sub-type registration information for text/red. While this document focuses on the use of this MIME sub- type in SDP [5], the application of this MIME sub-type is not restricted to SDP. Jones Standards Track [Page 1] RFC 4102 text/red MIME Sub-Type June 2005 2. 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 interpreted as described in RFC 2119 [3]. 3. IANA Considerations One new MIME sub-type has been registered by the IANA, as described below: MIME media type name: text MIME subtype name: RED Required parameters: rate: the RTP clock rate of the payload carried within the RTP packet. Typically, this rate is 1000, but other rates MAY be specified. This parameter MUST be set equal to the clock rate of the text payload format carried as the primary encoding. pt: a comma-separated ordered list of RTP payload types enumerating the primary, secondary, etc., in accordance with RFC 2198. Because comma is a special character, the list MUST be a quoted-string (enclosed in double quotes). For static payload types, each list element is simply the type number. For dynamic payload types, each list element is a mapping of the dynamic payload type number to an embedded MIME content-type specification for the payload format corresponding to the dynamic payload type. The format of the mapping is: dynamic-payload-type "=" content-type If the content-type string includes a comma, then the content- type string MUST be a quoted-string. If the content-type string does not include a comma, it MAY still be quoted. Because it is part of the list, which must itself be a quoted-string, the quotation marks MUST be quoted with backslash quoting as specified in RFC 2045 [4]. If the content-type string itself contains a quoted-string, then the requirement for backslash quoting is recursively applied. Optional parameters: ptime, maxptime (these attributes are originally defined in RFC 2327 [5] and RFC 3267 [6], respectively) Restrictions on Usage: This type is defined only for transfer via RTP. It shall not be defined for a storage format. Jones Standards Track [Page 2] RFC 4102 text/red MIME Sub-Type June 2005 Encoding considerations: See restrictions on Usage above; this section is included per the requirements in RFC 3555 [7]. Security considerations: Refer to section 5 of RFC 4102. Interoperability considerations: none Published specification: RFC 2198 Applications which use this media type: Text streaming and conferencing tools. Additional information: none Person & email address to contact for further information: Paul E. Jones E-mail: paulej@packetizer.com Intended usage: COMMON Author: Paul E. Jones paulej@packetizer.com Change Controller: AVT Working Group delegated from the IESG 4. Mapping to SDP Parameters The information carried in the MIME media type specification has a specific mapping to fields in the Session Description Protocol (SDP) [5], which is commonly used to describe RTP sessions. When SDP is used to specify sessions employing the RFC 2198 in a text session, the mapping is as follows: - The MIME type ("text") goes in SDP "m=" as the media name. - The value of the parameter "rate" goes in SDP "a=rtpmap". - The MIME subtype (RED) goes in SDP "a=rtpmap" as the encoding name. - The parameters "ptime" and "maxptime" go in the SDP "a=ptime" and "a=maxptime" attributes, respectively. Jones Standards Track [Page 3] RFC 4102 text/red MIME Sub-Type June 2005 - The pt parameter is mapped to an a=fmtp attribute by eliminating the parameter name (pt) and changing the commas to slashes. For example, 'pt="101,102"' maps to 'a=fmtp:99 101/102', where = '99' is the payload type of the redundancy frames. Note that the single quote marks (') used in this example are not present in the actual message encoding, but are present here only for readability. The level of redundancy is shown by the number of elements in the payload type list. Any dynamic payload type in the list MUST be represented by its payload type number and not by its content-type. The mapping of payload types to the content-type is done using the normal SDP procedures with "a=rtpmap". An example of SDP is: m=text 11000 RTP/AVP 98 100 a=rtpmap:98 t140/1000 a=rtpmap:100 red/1000 a=fmtp:100 98/98 For each redundancy payload type defined, the ordering of the primary and redundancy encoding(s) is fixed. If more than one combination of primary and redundancy encoding(s) is desired, multiple redundancy payload types needs to be defined. 5. Security Considerations The security considerations listed in RFC 2198 apply. Further, it should be understood that text data, perhaps even more so than audio data, is susceptible to unwanted modification that may lead to undesired results. To prevent modification of the primary, secondary, or header information, payload integrity protection over at least the complete RTP packet is RECOMMENDED, for example using SRTP [9]. Jones Standards Track [Page 4] RFC 4102 text/red MIME Sub-Type June 2005 6. Normative References [1] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V., Handley, M., Bolot, J., Vega-Garcia, A., and S. Fosse-Parisis, "RTP Payload for Redundant Audio Data", RFC 2198, September 1997. [2] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003. [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [4] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996. [5] Handley, M., Jackson, V., "SDP: Session Description Protocol", RFC 2327, April 1998. [6] Sjoberg, J., Westerlund, M., Lakaniemi, A., and Q. Xie, "Real- Time Transport Protocol (RTP) Payload Format and File Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codecs", RFC 3267, June 2002. [7] Casner, S. and P. Hoschka, "MIME Type Registration of RTP Payload Formats", RFC 3555, July 2003. 7. Informative References [8] Hellstrom, G. and P. Jones, "RTP Payload for Text Conversation", RFC 4103, June 2005. [9] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, March 2004. Author's Address Paul E. Jones Cisco Systems, Inc. 7025 Kit Creek Rd. Research Triangle Park, NC 27709, USA Phone: +1 919 392 6948 EMail: paulej@packetizer.com Jones Standards Track [Page 5] RFC 4102 text/red MIME Sub-Type June 2005 Full Copyright Statement Copyright (C) The Internet Society (2005). 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 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. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Jones Standards Track [Page 6]