Upload
aranibarm
View
1.092
Download
5
Embed Size (px)
Citation preview
Technical Manual – Signaling & ProtocolsTable of Contents
Table of Contents
Chapter 2 RTP and RTCP............................................................................................................2-1
2.1 Brief Introduction..............................................................................................................2-1
2.2 RTP/RTCP Applications...................................................................................................2-1
2.3 Packet Format and Meaning............................................................................................2-2
2.3.1 RTP Header Format..............................................................................................2-2
2.3.2 RTCP Packet Format............................................................................................2-3
2.3.3 RTCP Functions....................................................................................................2-4
2.3.4 RTCP Transmission Interval..................................................................................2-4
i
Technical Manual – Signaling & ProtocolsChapter 2 RTP and RTCP
Chapter 2 RTP and RTCP
2.1 Brief Introduction
The IP bearer voice services are transmitted based on UDP, which however doesn’t
take real-time service transmission into account (media stream synchronization, for
example), as it is designed to be dedicated to data stream transmission. So the
functionality of UDP needs to be expanded when real-time services are transferred
based on it. For that purpose, IETF defines a new protocol RTP (Real-time Transport
Protocol).
RTP provides real-time end-to-end data delivery services, such as interactive audio
and, including payload type identification, sequence numbering, time stamping and
delivery monitoring. RTP itself does not provide any mechanism to ensure timely
delivery or provide other quality-of-service guarantees, but relies on lower-layer
protocols to do so.
At present, RTP/RTCP is widely used in IP bearer voice service flow transmission.
RTP can also provide end-to-end network transport functions over multicast or unicast
network services, which are suitable for applications transmitting various real-time
data, such as video and simulation data.
RTP involves two closely correlated parts.
Real-time Transport Protocol (RTP): transports the information featured with real
time.
RTP Control Protocol (RTCP): monitors quality of service and the information
about members involving a transfer or a session.
RTP guarantees timely transmission and synchronization of audio and video; and
RCTP is used to monitor RTP and QoS. For details about the protocols, please refer
to related RFC documents. RTP does not address resource reservation and does not
guarantee quality-of-service for real-time services. The data transport is augmented
by RTCP to allow monitoring of the data delivery in a manner scalable to large
multicast networks, and to provide minimal control and identification functionality.
RTP/RTCP is designed to be independent from the underlying transport layer and
network layer.
2.2 RTP/RTCP Applications
The IP bearer of voice services is mainly accomplished by RTP. In the UMG8900
device, as for bearer handovers between ATM to IP and between TDM to IP,
RTP/RTCP is responsible for IP bearer service processing and adaptation. The
1
Technical Manual – Signaling & ProtocolsChapter 2 RTP and RTCP
functions of RTP/TCP are provided and fulfilled by MRPU of the UMG8900 device.
The application of RTP/RTCP in MRPU is shown in Figure 2-1.
Figure 2-1 Applications of RTP/RTCP in the UMG8900 device
RTP/RTCP is the protocol on top of the transport layer. RTP accomplishes Nb UP
adaptation and RTCP monitors RTP packets.
2.3 Packet Format and Meaning
2.3.1 RTP Header Format
A RTP header contains many fields as shown in Table 2-1.
Table 2-1 The meaning of RTP header fields
FieldLength
(bit)Meaning
Version 2The field defines the version of RTP. The version
defined here is two.
Padding(P) 1
If the padding bit is set to 1, the packet contains one or
more additional padding octets at the end of the header.
The last octet of the padding contains a count of padding
octets. Padding may be needed by some encryption
algorithms or for carrying several RTP packets in a
lower-layer protocol data packet.
Extension (X) 1If the extension bit is set to 1, the RTP header is
followed by exactly one header extension.
CSRC Count
(CC)4
The CSRC count contains the number of CSRC
identifiers that follow the header.
2
Technical Manual – Signaling & ProtocolsChapter 2 RTP and RTCP
FieldLength
(bit)Meaning
Mark (M) 1
It is set by specific protocols. In IP calls, it is set to 1 in
the first RTP data packet transferred after mute, and it is
set to 0 in other cases.
Payload
Type (PT)7 This field identifies the format of the RTP payload.
Sequence
Number 16
The sequence number is used by the receiver to detect
packet loss and to restore packet sequence. The initial
value of the sequence number is random and
increments by one for each RTP data packet sent.
Timestamp 32
The timestamp reflects the sampling instant of the first
octet in the RTP data packet. The sampling instant must
accommodate to synchronization to allow
synchronization and jitter calculations. The initial value
of the timestamp is random, and increments with the
size of packet data.
SSRC 32
The SSRC field identifies the RTP packet sender. This
identifier is chosen randomly, with the intent that no two
RTP packet senders within the same gateway will have
the same SSRC identifier. Although the probability of mu
ltiple sources choosing the same identifier is low, all RT
P implementations must be prepared to detect and resol
ve collisions. If a source changes its source transport ad
dress, it must also choose a new SSRC identifier to avoi
d being interpreted as a looped source.
CSRC List 0-480
0 to 15 items, 32 bits each. The CSRC list identifies
CSRC in packets. The number of identifiers is given by
the CC field. At most 15 CSRC identifiers are defined
and are inserted by mixers, using the SSRC identifiers
2.3.2 RTCP Packet Format
RTCP defines several types of RCTP packets to carry a variety of control information
as shown in Table 2-2.
3
Technical Manual – Signaling & ProtocolsChapter 2 RTP and RTCP
Table 2-2 RTCP packets
Control information Description
SR (sender report) Describe transmission and reception statistics from the
gateways that are active senders
RR (receiver report) Describe reception statistics from the gateways that are
receivers
SDES (source
description item)
Describe the sources sending RTCP packets, including
CNAME.
BYE Indicates end of voice transfer.
APP Application specific functionality extension.
Each RTCP packet begins with a fixed part similar to that of RTP data packets,
followed by structured elements that may be of variable length according to the
packet type but always end on a 32-bit boundary. The alignment requirement and a
length field in the fixed part make RTCP packets "stackable", that is, multiple RTCP
packets form a compound RTCP packet that is sent in a single packet of the lower
layer protocol, for example UDP. There is no explicit count of individual RTCP
packets in the compound packet since the lower layer protocols are expected to
provide an overall length to determine the end of the compound packet.
2.3.3 RTCP Functions
RTCP transmits RTP control packets based on the periodic transmission, using the
same distribution mechanism as the data packets. RTCP chiefly performs two functio
ns.
The primary function is to provide feedback on the quality of the data distribution.
The receiver diagnoses faults on transport lines and controls RTP packet
transfer according to the feedback information in RTCP packets. The feedback
function is accomplished through sending and receiving reports by RTCP.
RTCP carries a persistent identifier for a RTP source, which is called the
canonical name (CNAME). Since the RTP header may change if a conflict is disc
overed or a program is restarted, receivers require the CNAME to keep track of e
ach participant.
2.3.4 RTCP Transmission Interval
The interval between RTCP packets transmitted is varied randomly over the range
[0.5, 1.5] times the calculated interval to avoid unintended synchronization of all
4
Technical Manual – Signaling & ProtocolsChapter 2 RTP and RTCP
participants. The first RTCP packet sent after joining a session is also delayed by a ra
ndom variation of half the minimum RTCP interval in case the application is started at
multiple sites simultaneously.
5