RFC 4040
RTP Payload Format for a 64 kbit/s Transparent Call
RFC 4040 π
RFC 4040: RTP Payload Format for a 64 kbit/s Transparent Call π
Okay bestie, this one is a whole vibe π It's about carrying raw 64 kbit/s channel data through RTP without touching it, basically no edits, just vibes π¦
- Network Working Group πΈ
- Request for Comments: 4040
- Author: R. Kreuter, Siemens AG β¨
- Category: Standards Track π
- Date: April 2005 π
Status of This Memo π
So this document is an Internet standards track protocol for the Internet community π«Ά It's also asking everyone for discussion and suggestions for improvements. If you want the official standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1) π Distribution of this memo is unlimited, so share it with your whole group chat π
Copyright Notice βοΈ
Copyright (C) The Internet Society (2005).
Abstract π
This doc explains how to carry 64 kbit/s channel data transparently in RTP packets, using a pseudo-codec called "Clearmode" π§ It also registers a related MIME type called "audio/clearmode" π
"Clearmode" is a basic feature of VoIP Media Gateways, so it's a big deal π
Table of Contents π
1. Introduction.................................................. 2
2. Conventions Used in This Document............................. 2
3. 64 kbit/s Data Stream Handling and RTP Header Parameters...... 3
4. IANA Considerations........................................... 3
5. Mapping to Session Description Protocol (SDP) Parameters...... 5
6. Security Considerations....................................... 5
7. References.................................................... 6
7.1. Normative References..................................... 6
7.2. Informative References................................... 6
8. Acknowledgements.............................................. 7
1. Introduction π
Okay so VoIP Media Gateways need to carry every possible data stream that analog terminals or integrated services digital network (ISDN) terminals make, and they need to do it over an IP network πΈ In this doc, a VoIP Media Gateway is a device that converts a (digital or analog) linear data stream into a digital packetized data stream, or the other way around π If you want the basics of how a Media Gateway based network is built, check out RFC 2719 [10] π¦
Usually a VoIP Media Gateway does some processing on the data it converts, besides packetization or depacketization. Think echo cancellation or dual tone multifrequency (DTMF) detection, and especially coding/decoding πΆ But there's a whole class of data streams that doesn't rely on or allow any data processing inside the VoIP Media Gateway except for packetization or depacketization. ISDN data terminals, i.e., will produce data streams that are not compatible with a non-linear encoding as used for voice π
So for these applications, there's a real need for a transparent relay of 64 kbit/s data streams in real-time transport protocol (RTP) [4] packets π«Ά People often call this "clear-channel data" or "64 kbit/s unrestricted" β¨ No encoder/decoder is needed in that case, but a unique RTP payload type is necessary, and a related MIME type is to be registered for signaling purposes π₯
Clearmode is not restricted to the examples above, honestly. It can be used by any application that doesn't need a special encoding/decoding for transfer via an RTP connection π
This payload format document describes a pseudo-codec called "Clearmode", for sample oriented 64 kbit/s data streams with 8 bits per sample π§ It's in accordance with RFC 2736 [1], which gives a guideline for writing new RTP payload formats π
Examples of the current use of Clearmode are transferring "ISDN 7 kHz voice" and "ISDN data" in VoIP Media Gateways π
This document also serves as the MIME type registration according to RFC 2045 [2] and RFC 2048 [3], which defines the procedures for registering new MIME types within the IETF tree π
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 [8] π«Ά
3. 64 kbit/s Data Stream Handling and RTP Header Parameters π¦
Clearmode doesn't use any encoding or decoding. It just does packetization πΈ
Clearmode assumes the data is sample oriented, with one octet (8 bits) per sample π₯ There's no restriction on the number of samples per packet other than the 64 kbyte limit imposed by the IP protocol π The number of samples SHOULD be less than the path maximum transmission unit (MTU) minus combined packet header length π If the environment is expected to have tunnels or security encapsulation as part of operation, the number of samples SHOULD be reduced to make room for the extra header space π
The payload packetization/depacketization for Clearmode is similar to the Pulse Code Modulation (PCMU or PCMA) handling described in RFC 3551 [5] πΆ Each Clearmode octet SHALL be octet-aligned in an RTP packet π§ The sign bit of each octet SHALL correspond to the most significant bit of the octet in the RTP packet π
A sample rate of 8000 Hz MUST be used π This works out to a 64 kbit/s transmission rate per channel β¨
The Timestamp SHALL be set as described in RFC 3550 [4] β°
The marker bit is always zero, and silence suppression doesn't apply to Clearmode data streams π€
The payload type is dynamically assigned, so it isn't presented in this document π
RTP header fields not mentioned here SHALL be used as specified in RFC 3550 [4] and any applicable profile π
This document specifies the use of RTP over unicast and multicast UDP, as well as TCP π (This doesn't rule out using this definition when RTP is carried by other lower-layer protocols π§)
4. IANA Considerations π
This document registers the following MIME subtype: audio/clearmode π
Here's the registration template, copied exactly as written:
To: ietf-types@iana.org
Subject: Registration of MIME media type audio/clearmode
MIME media type name: audio
MIME subtype name: clearmode
Required parameters: none
Optional parameters: ptime, maxptime
"ptime" gives the length of time in milliseconds
represented by the media in a packet, as described in RFC
2327 [6].
"maxptime" represents the maximum amount of media, which
can be encapsulated in each packet, expressed as time in
milliseconds, as described in RFC 3267 [9].
Encoding considerations:
This type is only defined for transfer via RTP [4].
Security considerations:
See Section 6 of RFC 4040
Interoperability considerations: none
Published specification: RFC 4040
Applications, which use this media type:
Voice over IP Media Gateways, transferring "ISDN 64 kb/s
data", "ISDN 7 kHz voice", or other 64 kbit/s data streams
via an RTP connection
Note: the choice of the "audio" top-level MIME type was
made because the dominant uses of this pseudo-codec are
expected to telephony and voice-gateway-related. The
"audio" type allows the use of sharing of the port in the
SDP "m=" line with codecs such as audio/g711 [6], [7], for
one example. This sharing is an important application and
would not be possible otherwise.
Additional information: none
Intended usage: COMMON
Author/Change controller:
IETF Audio/Video transport working group
delegated from the IESG
5. Mapping to Session Description Protocol (SDP) Parameters πΆ
Parameters get mapped to SDP [6] in a standard way, so nothing too wild here β¨
- The MIME type (audio) goes in SDP "m=" as the media name π
- The MIME subtype (clearmode) goes in SDP "a=rtpmap" as the encoding name π§
- The optional parameters "ptime" and "maxptime" go in the SDP "a=ptime" and "a=maxptime" attributes, respectively π
Here's an example mapping:
audio/clearmode; ptime=10
m=audio 12345 RTP/AVP 97
a=rtpmap:97 CLEARMODE/8000
a=ptime:10
Also, the payload format (encoding) names defined in the RTP Profile are commonly shown in upper case, while MIME subtypes are commonly shown in lower case π Both names are case-insensitive in both places π«Ά
6. Security Considerations π
Implementations using the payload format defined in this specification are subject to the security considerations discussed in RFC 3550 [4] π This payload format doesn't specify any different security services, because its main job is to add a transparent transport for a 64 kbit/s data stream π
Confidentiality of the media streams is achieved by encryption, for example by applying the Secure RTP profile [11] π
As with any IP-based protocol, a receiver can get overloaded just from receiving too many packets, whether they're wanted or not π¨
So, in some circumstances, a receiver may be overloaded simply by the receipt of too many packets, either desired or undesired π Network-layer authentication MAY be used to discard packets from undesired sources, but the processing cost of the authentication itself may be too high π Overload can also happen if the sender chooses to use a smaller packetization period than the receiver can process π The ptime parameter can be used to negotiate an appropriate packetization during session setup π€
In general, RTP is not an appropriate transfer protocol for reliable octet streams, and TCP is better in those cases π§ Besides that, packet loss due to congestion is as much an issue for clearmode as it is for other payload formats π§οΈ For a discussion of this issue, refer to RFC 3551 [5], section 2 π
Author's Address π
Okay bestie, the author is Ruediger Kreuter from Siemens AG, based in Munich, Germany. Here's the full mailing block so you can find him:
Ruediger Kreuter
Siemens AG
81730 Munich, Germany
EMail: ruediger.kreuter@siemens.com
Full Copyright Statement π
Copyright (C) The Internet Society (2005). The vibes are very official, but the basics are simple. This document is subject to the rights, licenses and restrictions in BCP 78, and except as set forth there, the authors keep all their rights. π
The document and everything in it is provided on an "AS IS" basis. The contributor, the organization they represent or are sponsored by (if any), the Internet Society, and the Internet Engineering Task Force all say, in caps, so nobody can miss it:
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.
Basically, nobody is promising this is perfect or safe for every use. π
Intellectual Property π¦
The IETF doesn't pick a side on whether any Intellectual Property Rights or other rights that someone might claim over the technology in this document are valid, how far they reach, or whether anyone can get a license for them. It also doesn't claim it has searched for those rights on its own. If you want the rules for rights in RFC documents, check BCP 78 and BCP 79. π
Copies of IPR disclosures sent to the IETF Secretariat, plus any assurances of licenses, and the results of any attempt to get a general license or permission for implementers or users, can be found in the IETF's online IPR repository at http://www.ietf.org/ipr. β¨
The IETF also invites anyone who knows about a copyright, patent, patent application, or other proprietary right that might cover technology needed to implement this standard to tell them. Send that info to the IETF at ietf-ipr@ietf.org. π
Acknowledgement πΈ
Funding for the RFC Editor function is currently provided by the Internet Society. Thank you to the people keeping these documents running! π«Ά
π¦ where this page comes from
- ietf: rfc4040 2005-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms