Internet Engineering Task Force Audio/Video Transport Working Group INTERNET-DRAFT S. Casner draft-ietf-avt-rtp-mime-02.txt Cisco Systems P. Hoschka W3C/INRIA/MIT March 10, 2000 Expires: September 10, 2000 MIME Type Registration of RTP Payload Formats 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 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. Abstract This document defines the procedure to register RTP Payload Formats as audio, video or other MIME subtype names. This is useful in a text-based format or control protocol to identify the type of an RTP transmission. This document also registers all the RTP payload formats defined in the RTP Profile for Audio and Video Conferences as MIME subtypes. Some of these may also be used for transfer modes other than RTP. Expires September 2000 [Page 1] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 1. Introduction The MIME registration procedure described in RFC 2048 [1] was originally designed for transport of multimedia information via asynchronous Inter- net mail, but the MIME namespace now provides identification for other transport modes as well. This document defines the procedure to regis- ter MIME subtype names for use with the Real-time Transport Protocol (RTP), RFC 1889 (under revision as draft-ietf-avt-rtp-new [2]), to iden- tify RTP payload formats. This document also registers all the RTP payload formats defined in the RTP Profile for Audio and Video Conferences, RFC 1890 (under revision as draft-ietf-avt-profile-new [3]), as MIME subtypes under the "audio" and "video" MIME types. [As this document is completed for publication as an RFC, it may be appropriate to add specifications in some of the registrations for how the media encodings associated with those RTP payload formats should be transferred under more traditional MIME transport modes as well. That has not been done yet.] 1.1. Terminology 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 [4] and indicate requirement levels for implementations compliant with this specifica- tion. 2. Procedure For Registering MIME Types for RTP Payload Types Registering an RTP payload type as MIME type follows the same procedures as described in RFC 2048 and uses the registration template shown in Section 2.8 of RFC 2048. Some additional parameters are required to specify how a particular payload format is transported over RTP: Published specification A description of encoding and a specification of the payload format must be provided, usually by reference to an RTP pay- load format specification RFC. That RFC may be separate, or the MIME subtype registration may be incorporated into the payload format specification RFC. The payload format specifi- cation MUST include the RTP timestamp clock rate (or multiple rates for audio encodings with multiple sampling rates). A reference to a further description of the data compression format itself should be provided, if available. Expires September 2000 [Page 2] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 Required parameters If the payload format does not have a fixed RTP timestamp clock rate, then a "rate" parameter is required. A particular payload format may have additional required parameters. Optional parameters Most audio payload formats can have an optional "channels" parameter to specify the number of audio channels included in the transmission. Any payload format, but most likely audio formats, may also include an optional "ptime" parameter to specify the length of time in milliseconds represented by the media in a packet. A particular payload format may have additional optional parameters. Encoding considerations The fact that the type can be transferred via RTP MUST be noted. Depending on whether the type has already been registered for transfer with a non-RTP protocol (e.g. MIME mail or http) or not, several dif- ferent cases can occur: a) Not yet registered as a MIME type A new registration should be constructed using the MIME regis- tration template. The registration may specify transfer via other means in addition to RTP if that is feasible and desired. The encoding considerations must specify how the type is transferred via RTP. Optional parameters may be defined as needed, and it must be clearly stated whether to which mode(s) of transfer the parame- ters apply. b) MIME type exists for a non-RTP protocol The encoding considerations of the existing type should be changed to indicate that the type can also be transferred via RTP. RTP-specific parameters may be added, and it must be clearly stated that these are only to be used when the media type is transmitted via RTP transport. c) Update an existing MIME type for RTP to be used for a non-RTP protocol Expires September 2000 [Page 3] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 The encoding considerations of the existing type should be changed to indicate that the type can also be transferred via a non-RTP protocol (e.g. SMTP, HTTP). Non-RTP-specific parameters can be added, and it must be clearly stated that these are only to be used when the media type is transmitted via a non-RTP transport. 3. Mapping to SDP Parameters The representation of a MIME media type is specified in the syntax of the Content-Type header field in RFC 2045 [5] as follows: type "/" subtype *(";" parameter) Parameters may be required for a particular type or subtype or they may be optional. For media types which represent RTP payload formats, the parameters "rate", "channels" and "ptime" have general definitions (given above) that may apply across types and subtypes. The information carried in the media type string has a specific mapping to fields in the Session Description Protocol (SDP), RFC 2327 [6], which is commonly used to describe RTP sessions. The mapping is as follows: o The MIME type (e.g., audio) goes in SDP "m=" as the media name. o The MIME subtype (payload format) goes in SDP "a=rtpmap" as the encoding name. o The general (possibly optional) parameters "rate" and "channels" also go in "a=rtpmap" as clock rate and encoding parameters, respectively. o The general (and optional) parameter "ptime" goes in SDP "a=ptime" attribute. o Any payload-format-specific parameters go in SDP "a=fmtp" line. The format and syntax of these parameters may be defined by the payload format specification, but it is suggested that the param- eters be copied directly from the MIME media type string as a semicolon separated list of parameter=value pairs. For payload formats that specify some other syntax for the fmtp parameters, the registration of that payload format as a MIME type must specify what the parameters are in MIME format and how to map them. See Section 4.1.18 for an example. An example mapping is as follows: Expires September 2000 [Page 4] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 audio/L16; rate=48000; channels=2; ptime=5; emphasis=50/15 m=audio 49170 RTP/AVP 97 a=rtpmap:97 L16/48000/2 a=fmtp:97 emphasis=50/15 a=ptime:5 Note that the payload format (encoding) names defined in the RTP Profile are commonly shown in upper case. MIME subtypes are commonly shown in lower case. These names are case-insensitive in both places. 4. Registrations for "Audio/Video Profile" In the following sections, all RTP payload formats described in draft- ietf-profile-new-04.txt are registered as MIME subtypes. The following fields of the registration template in RFC 2048 have gen- eric values for all of these registrations unless explicitly overridden in a specific registration. To reduce the length of this document these fields will not be replicated unless subtype-specific information must be given: Encoding considerations: This type is only defined for transfer via RTP [RFC XXXX, draft-ietf-avt-rtp-new]. Security considerations: none Interoperability considerations: none Applications which use this media type: Audio and video streaming and conferencing tools. Additional information: none Person & email address to contact for further information: See Section describing the respective type in draft-ietf- profile-new-04.txt. If no e-mail address is given, contact the author of draft-ietf-profile-new-04.txt Intended usage: COMMON Author/Change controller: See Section describing the respective type in draft-ietf- profile-new-04.txt Expires September 2000 [Page 5] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 4.1. Audio Type Registrations The following sections register all of the RTP audio payload types defined in draft-ietf-profile-new-04.txt as MIME types. For most audio payload formats, the RTP clock rate is equal to the sam- pling rate. Some payload formats operate only at one fixed sampling rate, while others are adjustable. 4.1.1. Registration of MIME media type audio/1016 MIME media type name: audio MIME subtype name: 1016 Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.2. Registration of MIME media type audio/DVI4 MIME media type name: audio MIME subtype name: DVI4 Required parameters: rate The typical rate is 8000, but other rates may be specified. Optional parameters: ptime Published specification: RFCYYYY 4.1.3. Registration of MIME media type audio/G722 MIME media type name: audio MIME subtype name: G722 Required parameters: None Optional parameters: ptime Published specification: RFCYYYY Expires September 2000 [Page 6] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 4.1.4. Registration of MIME media type audio/G723 MIME media type name: audio MIME subtype name: G723 Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.5. Registration of MIME media type audio/G726-32 MIME media type name: audio MIME subtype name: G726-32 Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.6. Registration of MIME media type audio/G728 MIME media type name: audio MIME subtype name: G728 Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.7. Registration of MIME media type audio/G729 MIME media type name: audio MIME subtype name: G729 Required parameters: None Optional parameters: ptime Published specification: RFCYYYY Expires September 2000 [Page 7] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 4.1.8. Registration of MIME media type audio/GSM MIME media type name: audio MIME subtype name: GSM Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.9. Registration of MIME media type audio/GSM-HR MIME media type name: audio MIME subtype name: GSM-HR Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.10. Registration of MIME media type audio/GSM-EFR MIME media type name: audio MIME subtype name: GSM-EFR Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.11. Registration of MIME media type audio/L8 MIME media type name: audio MIME subtype name: L8 Required parameters: rate Optional parameters: channels, ptime Published specification: RFCYYYY Expires September 2000 [Page 8] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 4.1.12. Registration of MIME media type audio/L16 MIME subtype audio/L16 has already been registered via RFC 2586 for transports other than RTP. That registration is incorporated here and augmented with additional information for RTP transport. MIME media type name: audio MIME subtype name: L16 Required parameters rate: number of samples per second -- For non-RTP transport, the permissible values for rate are 8000, 11025, 16000, 22050, 24000, 32000, 44100, and 48000 samples per second. For RTP transport, other values are permissible but the aforementioned values are RECOMMENDED. For RTP, the rate parameter indicates the RTP timestamp clock rate, which is equal to the sample rate. Optional parameters channels: how many audio streams are interleaved -- defaults to 1; stereo would be 2, etc. Interleaving takes place between individual two-byte samples. emphasis: analog preemphasis applied to the data before quant- ization. The only emphasis value defined here is emphasis=50/15 to indicate the 50/15 microsecond preemphasis used with Compact Disks. This parameter should be omitted if no analog preemphasis was applied. For RTP, ptime: RECOMMENDED duration of each packet in mil- liseconds. Encoding considerations Audio data is binary data, and must be encoded for non-binary transport; the Base64 encoding is suitable for Email. Note that audio data does not compress easily using lossless compression. This type is also defined for transfer via RTP [RFC XXXX, draft-ietf-avt-rtp-new]. Security considerations Audio data is believed to offer no security risks. Interoperability considerations This type is compatible with the encoding used in the WAV (Microsoft Windows RIFF) and Apple AIFF union types, and with Expires September 2000 [Page 9] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 the public domain "sox" and "rateconv" programs. Published specification RFC 2586 for non-RTP transports, RFCYYYY for RTP Applications which use this media The public domain "sox" and "rateconv" programs accept this type. 1. Magic number(s) : None 2. File extension(s) : WAV L16 3. Macintosh file type code : AIFF Person to contact for further information 1. Name : James Salsman 2. E-mail : jps-L16@bovik.org Intended usage Common It is expected that many audio and speech applications will use this type. Already the most popular platforms provide this type with the rate=11025 parameter referred to as "radio quality speech." Author/Change controller James Salsman for non-RTP transports. Authors of RFC YYYY for RTP. 4.1.13. Registration of MIME media type audio/LPC MIME media type name: audio MIME subtype name: LPC Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.14. Registration of MIME media type audio/MPA MIME media type name: audio Expires September 2000 [Page 10] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 MIME subtype name: MPA (MPEG audio) Required parameters: None Optional parameters: layer: which layer of MPEG audio encoding; permissible values are 1, 2, 3. samplerate: the rate at which audio is sampled. MPEG-1 audio supports sampling rates of 32, 44.1, and 48 kHz; MPEG-2 sup- ports sampling rates of 16, 22.05 and 24 kHz. This parameter is separate from the RTP timestamp clockrate which is always 90000 Hz for MPA. mode: permissible values are "stereo", "joint_stereo", "single_channel", "dual_channel". The "channels" parameter does not apply to MPA. It is undefined to put a number of channels in the SDP rtpmap attribute for MPA. bitrate: the data rate for the audio bit stream. ptime: RECOMMENDED duration of each packet in milliseconds. Parameters which are omitted are left to the encoder to choose based on the session bandwidth, configuration information, or other constraints. The selected layer as well as the sampling rate and mode are indicated in the payload so receivers can process the data without these parameters being specified externally. Published specification: RFCYYYY 4.1.15. Registration of MIME media type audio/PCMA MIME media type name: audio MIME subtype name: PCMA Required parameters: rate The typical rate is 8000, but other rates may be specified. Optional parameters: channels, ptime Published specification: RFCYYYY 4.1.16. Registration of MIME media type audio/PCMU MIME media type name: audio Expires September 2000 [Page 11] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 MIME subtype name: PCMU Required parameters: rate The typical rate is 8000, but other rates may be specified. Optional parameters: channels, ptime Published specification: RFCYYYY 4.1.17. Registration of MIME media type audio/QCELP MIME media type name: audio MIME subtype name: QCELP Required parameters: None Optional parameters: ptime Published specification: RFCYYYY 4.1.18. Registration of MIME media type audio/RED MIME media type name: audio MIME subtype name: RED Required parameters: pt: a comma-separated list of static RTP payload types. The mapping to the a=fmtp attribute is to eliminate the parameter name and change the commas to slashes. For example, "pt=0,5" maps to "a=fmtp:99 0/5". This specification does not support dynamic payload types. Optional parameters: ptime Published specification: RFC2198 4.1.19. Registration of MIME media type audio/VDVI MIME media type name: audio MIME subtype name: VDVI Required parameters: None Optional parameters: ptime Expires September 2000 [Page 12] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 Published specification: RFCYYYY 4.2. Video Type Registrations For all of the video payload formats registered here, the RTP timestamp clock rate is always 90000 Hz, so the "rate" parameter is not applica- ble. Likewise, the "channel" parameter is not used with video, and while "ptime" could be used with video, it typically is not. 4.2.1. Registration of MIME media type video/BT656 MIME media type name: video MIME subtype name: BT656 Required parameters: None Optional parameters: None Published specification: RFC 2431 4.2.2. Registration of MIME media type video/CelB MIME media type name: video MIME subtype name: CelB Required parameters: None Optional parameters: None Published specification: RFC 2029 4.2.3. Registration of MIME media type video/JPEG MIME media type name: video MIME subtype name: JPEG Required parameters: None Optional parameters: None Published specification: RFC 2435 4.2.4. Registration of MIME media type video/H261 MIME media type name: video Expires September 2000 [Page 13] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 MIME subtype name: H261 Required parameters: None Optional parameters: None Published specification: RFC 2032 4.2.5. Registration of MIME media type video/H263 MIME media type name: video MIME subtype name: H263 Required parameters: None Optional parameters: None Published specification: RFC 2190 4.2.6. Registration of MIME media type video/H263-1998 MIME media type name: video MIME subtype name: H263-1998 Required parameters: None Optional parameters: None Published specification: RFC 2429 4.2.7. Registration of MIME media type video/MPV MIME media type name: video MIME subtype name: MPV MPEG-1 or -2 Elementary Streams Required parameters: None Optional parameters: type: the type of MPEG video, from the set "mpeg1", "mpeg2- halfd1", or "mpeg2-fulld1". The default is "mpeg1". The map- ping to a=fmtp is identity. Published specification: RFC 2250 Expires September 2000 [Page 14] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 4.2.8. Registration of MIME media type video/MP2T MIME media type name: video MIME subtype name: MP2T MPEG-2 Transport Streams Required parameters: None Optional parameters: None Published specification: RFC 2250 4.2.9. Registration of MIME media type video/MP1S MIME media type name: video MIME subtype name: MP1S MPEG-1 Systems Streams Required parameters: None Optional parameters: None Published specification: RFC 2250 4.2.10. Registration of MIME media type video/MP2P MIME media type name: video MIME subtype name: MP2P MPEG-2 Program Streams Required parameters: None Optional parameters: None Published specification: RFC 2250 4.2.11. Registration of MIME media type video/BMPEG MIME media type name: video MIME subtype name: BMPEG Required parameters: None Optional parameters: None Expires September 2000 [Page 15] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 Published specification: RFC 2343 4.2.12. Registration of MIME media type video/nv MIME media type name: video MIME subtype name: nv Required parameters: None Optional parameters: None Published specification: RFC YYYY 5. Security Considerations The registration procedure specified in this memo does not impose any security considerations on its own. This memo also contains several MIME type registrations, each of which may state any security considera- tions specific to that registration. Several audio and video encodings are perfect for hiding data using steganography. 6. References [1] N. Freed, J. Klensin and J. Postel, "Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures", RFC 2048, November 1996. [2] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, "RTP: A Transport Protocol for real-time applications," RFC 1889, January 1996, updated by draft-ietf-avt-rtp-new (Work in Progress). [3] H. Schulzrinne, S. Casner, "RTP profile for audio and video conferences with minimal control", RFC 1890, January 1996, updated by draft-ietf-avt-profile-new (Work in Progress). [4] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. [5] N. Freed & N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996. [6] M. Handley and V. Jacobson, "SDP: Session Description Protocol", RFC 2327, April 1998. Expires September 2000 [Page 16] Internet Draft draft-ietf-avt-rtp-mime-02.txt March 2000 7. Authors' Addresses Stephen L. Casner Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 Phone: +1 408 525 4782 Email: casner@cisco.com Philipp Hoschka MIT-LCS INRIA W3C 545, Technology Square Route des Lucioles 2004 ph@w3.org Cambridge, MA 02139 06904, Sophia-Antipolis Cedex USA BP 93, France Tel:(+1) 617.258.0604 Tel:(+33) 4 92 38 79 84 Fax:(+1) 617.258.5999 Fax:(+33) 4 92 38 77 65 http://www.w3.org/people/hoschka Expires September 2000 [Page 17]