RFC 2658 (rfc2658) - Page 2 of 10
RTP Payload Format for PureVoice(tm) Audio
Alternative Format: Original Text Document
RFC 2658 RTP Payload Format for PureVoice(tm) Audio August 1999
The Qcelp CODEC [1] compresses each 20 milliseconds of 8000 Hz, 16-
bit sampled input speech into one of four different size output
frames: Rate 1 (266 bits), Rate 1/2 (124 bits), Rate 1/4 (54 bits)
or Rate 1/8 (20 bits). The CODEC chooses the output frame rate based
on analysis of the input speech and the current operating mode
(either normal or reduced rate). For typical speech patterns, this
results in an average output of 6.8 k bits/sec for normal mode and
4.7 k bits/sec for reduced rate mode.
3 RTP/Qcelp Packet Format
The RTP timestamp is in 1/8000 of a second units. The RTP payload
data for the Qcelp CODEC has the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTP Header [2] |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|RR | LLL | NNN | |
+-+-+-+-+-+-+-+-+ one or more codec data frames |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The RTP header has the expected values as described in [2]. The
extension bit is not set and this payload type never sets the marker
bit. The codec data frames are aligned on octet boundaries. When
interleaving is in use and/or multiple codec data frames are present
in a single RTP packet, the timestamp is, as always, that of the
oldest data represented in the RTP packet. The other fields have the
following meaning:
Reserved (RR): 2 bits
MUST be set to zero by sender, SHOULD be ignored by receiver.
Interleave (LLL): 3 bits
MUST have a value between 0 and 5 inclusive. The remaining two
values (6 and 7) MUST not be used by senders. If this field is
non-zero, interleaving is enabled. All receivers MUST support
interleaving. Senders MAY support interleaving. Senders that do
not support interleaving MUST set field LLL and NNN to zero.
Interleave Index (NNN): 3 bits
MUST have a value less than or equal to the value of LLL. Values
of NNN greater than the value of LLL are invalid.
K. McKay Standards Track