Internet Engineering Task Force Rajesh Kumar Internet Draft Cisco Systems Document: March 26, 2002 Category: Informational Expires: September 26, 2002 Generic Format-Specific Parameter Status of this Document 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. 1. Abstract An SDP attribute, 'gfmtp', is defined to convey generic parameters that can qualify a format, but are not and integral part of the definition (such as MIME) for that format. Typically, these parameters can be applied to several different formats. Examples are the boolean parameters 'vbd' (voiceband data) and 'ecan' (echo cancellation). Values of the 'gfmtp' attribute must be registered with the IANA. This document may be folded into another document such as the new SDP specification. 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. Introduction There is a need within SDP to qualify formats, such as those of a codec, with additional parameters not included in their definition. The 'fmtp' parameter [3] Kumar Informational 1 Generic Format-Specific Parameter March 2002 may be used for only those parameters included in the format definition or template e.g. MIME. For example, there is a need to distinguish between a payload type associated with voice and a payload type associated with voiceband data. The rationale is twofold: * At the receiver, voiceband data traffic is found to work best with fixed-size jitter buffers, while adaptive jitter buffers are optimal for voice. * Packet loss concealment algorithms are the receiver are suitable for voice, but not for voiceband data. As another example, there is a need to associate echo cancellation with different media formats. This issue was discussed in a MMUSIC session of the 53rd IETF during the discussion of [1], which is obsoleted by this internet draft. This internet draft is an attempt to capture the consensus of MMUSIC in this area. 4. Proposed representation in SDP The SDP attribute, gfmtp, is defined as: a=gfmtp: is represented as a semicolon-separated list of "parameter=value" pairs. The format may be an RTP payload type. Like all other SDP attributes, this SDP attribute is optional. Parsers that do not recognize it should be able to ignore it. The only adverse effect is that the other end may not apply the special treatments associated with the codec. For parameters like 'vbd' and 'ecan', this might result in some degradation. Current parameter definitions are the boolean (yes/no) parameters 'vbd' (voiceband data) and 'ecan' (echo cancellation). Other possible parameters are numeric gain control values. An example media description in SDP might be: m=audio 3456 RTP/AVP 0 15 98 99 a=rtpmap:98 PCMU/8000 a=gfmtp:98 vbd=on;ecan=off a=rtpmap:99 G726-32/8000 a=fmtp:99 vbd=on;ecan=on This specifies dynamic RTP payload types 98 and 99 as being "vbd" codecs, with PCMU and G726-32 encodings, and with echo cancellation off and on respectively. Kumar Informational 2 Generic Format-Specific Parameter March 2002 Note that the static payload type 2 (G726-32) does not appear in the media line in this case. The only permitted voice encodings are PCMU (payload type 0) and G728 (payload type 15). When both voice and voiceband data payload types are distinctly earmarked for a session at session establishment, a transmitter may switch from a voice payload type (0 or 15 in the example above) to a voiceband data payload type (98 or 99 in the example above) when it detects an appropriate event such as an ANS or ANSAM as defined in ITU V.25 and ITU V.8 respectively. When the receiving gateway or endpoint sees a voiceband data payload type (e.g. 98 in the example above), it recognizes this as a voiceband data codec (with PCMU encoding) and adjusts the jitter buffer accordingly. In this example, it also turns echo cancellation off it is not already off. The packet format defined in RFC 2198 can be used with a voiceband data codec for greater reliability by virtue of redundant transmission. A dynamic payload type is defined for the encoding name "red". The encapsulated voiceband data packets are, in this case, staggered in time (earlier and later packets combined in an RFC 2198 composite packet). In the following example media description: m=audio 3456 RTP/AVP 0 98 100 a=rtpmap:98 PCMU/8000 a=gfmtp:98 vbd=on;ecan=off a=rtpmap:100 red/8000 a=fmtp:100 98/98 a dynamic payload type of 100 is associated with RFC 2198 packets. A 'fmtp' line indicates that these RFC 2198 packets encapsulate two voiceband data payloads, each with payload type 98. The encapsulated packets are staggered in time (i.e. earlier and later packets combined in an RFC 2198 composite packet). 5. Acknowledgements Henning Schulzrinne and Steven Casner for the idea of this new, generic SDP attribute. Bill Foster and Flemming Andreasen for their energy put in pursuing the logical antecedents of this draft [1]. 8. References [1] Voiceband Data Media Format, draft-foster-mmusic-vbdformat-01.txt, Bill Foster, Rajesh Kumar and Flemming Andreasen. [2] An RTP Payload Format for Generic Forward Error Correction, RFC 2733, Rosenberg and Schulzrinne. [3] M. Handley, V. Jacobson, SDP: Session Description Protocol, RFC 2327. [4] H. Schulzrinne, RTP Profile for Audio and Video Conferences with Minimal Control, RFC 1890. Kumar Informational 3 Generic Format-Specific Parameter March 2002 [5] http://www.iana.org/assignments/rtp-parameters. [6] C. Perkins et al, RTP payload for redundant audio data, RFC 2198. [7] MIME Type Registration of RTP Payload Formats, draft-ietf-avt-rtp-mime-06.txt, Casner, S. and Hoschka, P. 9. Author's Addresses Rajesh Kumar Cisco Systems 170 West Tasman Dr San Jose, CA Phone: +1 408 527 0811 Email: rkumar@cisco.com 7. Full Copyright Statement Copyright (C) The Internet Society (2001). 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 purpose of developing 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 assigns. 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 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Kumar Informational 4