written 2.5 years ago by |
RTP and RTCP
- RTP provides end-to-end delivery services for delay-sensitive data, such as voice and video.
- Randomly picks even ports from UDP port range 16384 to 32767.
- RTCP provides out-of-band statistics and control information.
- The data flow is paired with the RTP stream and uses the same port as the RTP stream plus 1.
- Secure RTP (SRTP) encrypts the voice stream.
RTP features
- RFC 3550
- RTP runs in end systems
- RTP packets encapsulated in
- UDP segments
- Manages delivery of RT data specifies packet structure for packets carrying audio, video data
Interoperability: if two VolP applications run RTP, they can work together
RTP packet provides
- Payload type identification
- Source Identifier
- Sequence numbering for loss detection
- Time stamping for timing recovery
- Marker for significant events in the data ștream
RTP functions
- Data functions
- Content labeling
- source identification
- loss detection
- resequencing
- Timing
- intra-media synchronization: remove jitter with playout buffers
- inter-media synchronization: lip- synchro between audio-video
RTP runs on top of UDP
RTP libraries provide transport-layer interface that extends UDP:
- port numbers, IP addresses
- payload type identification
- packet sequence numbering
- time-stamping
- no fixed UDP port:negotiated out of band
- UDP port for RTCP:UDP port for RTP+1
- usually one media per RTP session (i.e. port pair)
written 6.1 years ago by | • modified 5.4 years ago |
RTP is designed for the transport of real-time data such as audio-video streams, videoconferencing.
RTP packet header
Payload type (PT): It indicates the media data type as well as its encoding scheme (e.g. MPEG 1, 2, and 4 audio/video, etc.) so the receiver knows how to decode it.
Timestamp: Timestamp is the most important mechanism of RTP. It records the instant when the first packet is sampled; it is set by the sender. With the timestamps, the receiver can play the audio/video in proper timing order. It is used for indicating the time relationship between packets.
Sequence number: It is used by sender for numbering the packets. The sequence number is chosen in a random manner for the first packet. It is incremented by one for each subsequent packet sent. The receiver uses the sequence number for detection of lost or out of order packets.
Synchronization source (SSRC) ID: It identifies sources of multimedia data (e.g.. audio, video). If the data come from the same source, they will be given the same SSRC ID, so as to be synchronized.
Contributing Source (CSRC) ID: It identifies the source of contributors, such as all speakers in an audio conference.
Version (V): This field identifies the version of RTP. The current version of RTP is two (2).
Marker (M): This field is used to indicate the end of the data.