The Real-time Transport Protocol (RTP) provides end-to-end delivery services for real-time data like audio and video. It identifies payload types, numbers sequences, timestamps packets, and monitors delivery. RTP is designed to be lightweight, flexible, scalable, and works with various transport protocols like UDP. It is used with the RTP Control Protocol (RTCP) for quality of service feedback.
Real-time Transport Protocol (RTP) Overview and Use Scenarios
1. Real-time Transport Protocol
(RTP)
Emil Diaz
VoIP Security COMS 4995 – 03
Dept. of Computer Science
Henning Schulzrinne
Columbia University
Fall 2008
2. Overview
Protocol goals & background
Real-time Transport Protocol (RTP)
RTP Control Protocol (RTCP)
Use Scenarios
12/04/12 Real-time Transport Protocol 2
3. Real-Time Transport Protocol
End-to-end delivery services for applications
transmitting real-time data, such as audio and video
Payload type identification
Sequence numbering
Time stamping
Delivery monitoring
Goals
lightweight
flexible
scalable
12/04/12 Real-time Transport Protocol 3
4. Origin of Protocol
Developed by the Audio-Video Transport Working
Group of the IETF:
H. Schulzrinne (Columbia University)
S. Casner (Packet Design)
R. Frederick (Blue Coat Systems Inc.)
V. Jacobson (Packet Design)
First published as RFC 1889 in the year 1996
Superseded by RFC 3550 in the year 2003
12/04/12 Real-time Transport Protocol 4
5. Protocol Structure
Application layer protocol
Typically used on top of IP and UDP
Applications that use RTP are:
Less sensitive to packet loss
Very sensitive to packet delays
UDP provides key services:
Multiplexing
Checksum
12/04/12 Real-time Transport Protocol 5
6. RTP Does NOT
Define media data formats or encodings
Need media specific profiles
Handle connection setups or tear-downs
Need other protocols like SIP or H.323
Handle resource reservation
Need other protocols like RSVP
Guarantee timely delivery or Quality of Service
However, it does provide necessary data to application to
order packets and adjust signal quality
12/04/12 Real-time Transport Protocol 6
7. RTP Sample Packet
http://www.codeproject.com/KB/IP/Video_Voice_Conferencing.aspx
12/04/12 Real-time Transport Protocol 7
10. Simple Multicast Audio Conference
1. Call connection established
2. Audio sampled at 20ms durations
3. Each data chunk is packaged with an RTP header
4. RTP packet is wrapped around UDP packet
5. Sent through network
6. Receiver receives and parses RTP header
7. Based on payload type, application reconstructs
audio stream in 20ms chunks
12/04/12 Real-time Transport Protocol 10
11. Audio and Video Conference
Audio and Video has separate RTP/RTCP sessions
Receiver can choose media type to use
Encodings can change independently
Network resource allocations per media basis
12/04/12 Real-time Transport Protocol 11
12. Mixers and Translators
Accommodate participant network resources
Mixer – Low Bandwidth
Mixer – Combining media streams
Translator – Forward RTP packets to private networks
12/04/12 Real-time Transport Protocol 12
13. Quality & Data Distribution Feedback
Packet loss, congestion, jitter, delivery times
Directly useful for control of adaptive encodings
Identify if problems are local or global
Short-term and long-term statistical analysis
Self-adjusting network
Each participant eventually knows about the other members
Source description dynamically identifies who is sending
Active senders get more bandwidth
Session bandwidth kept constant by adjusting transmission
rate based on the number of participants
12/04/12 Real-time Transport Protocol 13
14. Source Description Information
CNAME – Conical name (joe@example.com)
NAME – Display Name (Joe Smith)
EMAIL – Email (different than CNAME)
PHONE – International phone number
LOC – Location information (City, Building, Room?)
TOOL – Application (VideoView 2.0)
12/04/12 Real-time Transport Protocol 14