7
Technical Manual – Signaling & Protocols Table 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

02-Chapter 2 RTP and RTCP

Embed Size (px)

Citation preview

Page 1: 02-Chapter 2 RTP and RTCP

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

Page 2: 02-Chapter 2 RTP and RTCP

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

Page 3: 02-Chapter 2 RTP and RTCP

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

Page 4: 02-Chapter 2 RTP and RTCP

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

Page 5: 02-Chapter 2 RTP and RTCP

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

Page 6: 02-Chapter 2 RTP and RTCP

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