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.
μ-Law, 8bit, mono, 8kHz | |
A-Law, 8bit, mono, 8kHz | |
PCM 16bit, MSB first, signed, 44.1kHz stereo, left channel first | |
PCM 16bit, MSB first, signed, 44.1kHz mono | |
MPEG audio | |
PCM, 16bit, MSB first, signed, 8kHz mono | |
μ-Law, 8bit, mono, 24kHz | |
A-Law, 8bit, mono, 24kHz | |
PCM, 16bit, MSB first, signed, 24kHz mono | |
μ-Law, 8bit, mono, 32kHzreserved | |
A-Law, 8bit, mono, 32kHzreserved | |
PCM, 16bit, MSB first, signed, 32kHz monoreserved | |
PCM 16bit, MSB first, signed, 48kHz stereo, left channel first | |
PCM, 16bit, LSB first, signed, 8kHz mono | |
PCM, 16bit, LSB first, signed, 24kHz mono | |
PCM, 16bit, LSB first, signed, 32kHz monoreserved | |
PCM 16bit, LSB first, signed, 44.1kHz stereo, left channel first | |
PCM 16bit, LSB first, signed, 48kHz stereo, left channel first | |
μ-Law, 8bit, mono, 12kHz | |
A-Law, 8bit, mono, 12kHz | |
PCM, 16bit, MSB first, signed, 12kHz mono | |
PCM, 16bit, LSB first, signed, 12kHz mono | |
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].