RTP opens two ports for communication. One for the media stream (an even port number) and one for control (QoS feedback and media control) – RTCP. The port numbers are not hard defined, it depends very much upon the application.
- RTP (Real-time Transport Protocol)
- RTCP (Real-time Control Protocol)
- Adds information for:
- Packet Loss
- Jitter
- Delay
- Signal Level
- Call Quality Metrics
- Echo Return Loss
- etc.
- RTCP XR (Real-time Control Protocol Extended Reports)
Actual voice packets are sent using RTP/RTCP for SIP VOIP calls. RTP is able to carry media identified by parameters registred by the Internet assigned numbers authority, IANA. These are also used for SDP descriptions in SIP and MGCP messages.
Some of these payloads:
PT | encoding name | audio/video (A/V) | clock rate (Hz) | channels | Ref |
0 | G711 PCMU | A | 8000 | 1 | RFC3551 |
3 | GSM | A | 8000 | 1 | RFC3551 |
4 | G723 | A | 8000 | 1 | Kumar |
5 | DVI4 | A | 8000 | 1 | RFC3551 |
6 | DVI4 | A | 16000 | 1 | RFC3551 |
7 | LPC | A | 8000 | 1 | RFC3551 |
8 | PCMA | A | 8000 | 1 | RFC3551 |
9 | G722 | A | 8000 | 1 | RFC3551 |
10 | L16 | A | 44100 | 2 | RFC3551 |
11 | L16 | A | 44100 | 1 | RFC3551 |
12 | QCELP | A | 8000 | 1 | – |
13 | CN | A | 8000 | 1 | RFC3389 |
14 | MPA | A | 90000 | RFC3551,RFC2250 | |
15 | G728 | A | 8000 | 1 | RFC3551 |
16 | DVI4 | A | 11025 | 1 | DiPol |
17 | DVI4 | A | 22050 | 1 | DiPol |
18 | G729 | A | 8000 | 1 | |
19 | reserved | A | |||
20 | unassigned | A | |||
21 | unassigned | A | |||
22 | unassigned | A | |||
23 | unassigned | A | |||
24 | unassigned | V | |||
25 | CelB | V | 90000 | RFC2029 | |
26 | JPEG | V | 90000 | RFC2435 | |
27 | unassigned | V | |||
28 | nv | V | 90000 | RFC3551 | |
29 | unassigned | V | |||
30 | unassigned | V | |||
31 | H261 | V | 90000 | RFC2032 | |
32 | MPV | V | 90000 | RFC2250 | |
33 | MP2T | AV | 90000 | RFC2250 | |
34 | H263 | V | 90000 | Zhu | |
35–71 | unassigned | ? | |||
72–76 | reserved for RTCP conflict avoidance | RFC3550 | |||
77–95 | unassigned | ? | |||
96–127 | dynamic | ? | RFC3551 |
- IANA: Registred RTP Parameters : https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml
RTP and NAT
In a VOIP session, there are two RTP streams, one in each direction. If one of the parties involved in the session is on a private IP address, that stream from the public client to the NAT box, will not be allowed to reach the client on the inside of the NAT. To handle this, Symmetric RTP is often used. For more information on NAT and VOIP, see NAT and VOIP.
RFCs
- IETF RFC 3550 RTP: A Transport Protocol for Real-Time Applications
- IETF RFC 3611 RTP Control Protocol Extended Reports (RTCP XR)
- IETF RFC 1890 RTP Profile for Audio and Video Conferences with Minimal Control
- IETF RFC 2508 Compressing IP/UDP/RTP Headers for Low-Speed Serial Links
- IETF RFC 3545 Enhanced Compressed RTP (CRTP) for Links with High Delay, Packet Loss and Reordering
See also
- Open Source VOIP Software RTP protocol stacks and related software
- RTP Packet Format with field descriptions
- http://www.cs.columbia.edu/~hgs/rtp/: All you want to or need to know about RTP
- Asterisk RTCP
- SRTP: Secure RTP
- IETF
- SIP: Session initiation protocol
- RTP Silence Suppression Also known as VAD