RTP

RTP Protocol

RTP (Real-time Transport Protocol), as a standard application protocol of the Internet Protocol Suite, has been designed for transport of multimedia streams in IP networks.

Implementation is widely based on the User Datagram Protocol (UDP). The Transmission Control Protocol (TCP) is not often used by RTP for its high latency caused by connection establishment and error correction. The Barix implementation employs UDP as a transmission protocol.

In multimedia applications low latency is essential, whereas an occasional packet loss can be tolerated. A packet typically carries a fraction of a second worth of audio, which makes the lost packet almost inaudible. RTP adds a sequence number and a time stamp to each packet to allow detection and recovery from network errors.

Payload Type

Each RTP packet carries 7-bit information describing the type of the media data - so called payload type. For most common audio and video formats standard payload types are defined. The non-standard types have to be negotiated by the communicating parties by other means/protocols (e.g. using the Session Description Protocol SDP). For that reason a range of dynamic payload types is reserved.

The following table shows the defined RTP payload types used in Barix firmware. Note that Payload types 0, 8, 10, 11 and 14 are defined by the RTP standard while types 96 to 112 (dynamic payload types) are Barix specific.


RTP payload type
Audio Format
0
μ-Law, 8bit, mono, 8kHz
8
A-Law, 8bit, mono, 8kHz
10
PCM 16bit, MSB first, signed, 44.1kHz stereo, left channel first
11
PCM 16bit, MSB first, signed, 44.1kHz mono
14
MPEG audio
96
PCM, 16bit, MSB first, signed, 8kHz mono
97
μ-Law, 8bit, mono, 24kHz
98
A-Law, 8bit, mono, 24kHz
99
PCM, 16bit, MSB first, signed, 24kHz mono
100
μ-Law, 8bit, mono, 32kHzreserved
101
A-Law, 8bit, mono, 32kHzreserved
102
PCM, 16bit, MSB first, signed, 32kHz monoreserved
103
PCM 16bit, MSB first, signed, 48kHz stereo, left channel first
104
PCM, 16bit, LSB first, signed, 8kHz mono
105
PCM, 16bit, LSB first, signed, 24kHz mono
106
PCM, 16bit, LSB first, signed, 32kHz monoreserved
107
PCM 16bit, LSB first, signed, 44.1kHz stereo, left channel first
108
PCM 16bit, LSB first, signed, 48kHz stereo, left channel first
109
μ-Law, 8bit, mono, 12kHz
110
A-Law, 8bit, mono, 12kHz
111
PCM, 16bit, MSB first, signed, 12kHz mono
112
PCM, 16bit, LSB first, signed, 12kHz mono
127
Generic (see below)

Sequence Number

is primarily used to identify and detect lost packets and secondly to reconstruct the order in which packets where sent, which may make loss detection easier;

Time Stamp

is the sampling instant for the first octet of media data in a packet. It can be used to help recover the clock frequency at the receiving side, if it is not given by other means.

References

Check the Wikipedia for an introduction to the RTP protocol [1].