2.2.3.2 Transmitting Packet-Pair Data

When this RTP payload format is used for sending packet-pair data, one 4-byte RTP payload format header MUST be added directly after the normal RTP header, as specified in [RFC3550] section 5.1. The RTP payload format header MUST be followed by highly entropic (random) data.

The RTP header MUST be filled in, following the rules specified in section 2.2.1.2, with the following exception: The value of the Timestamp field MUST be set to 0x00000000.

The fields in the RTP payload format header are transmitted in big-endian byte order. The following diagram shows the RTP payload format header followed by the payload of data.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

S

L

R

D

I

RES

Length/Offset

Payload (variable)

...

S (1 bit): This field MUST be set to 1 if this is the first RTP packet that contains packet-pair data. Otherwise, the field MUST be set to 0.

L (1 bit): This field MUST be set to 1.

R (1 bit): This field MUST be set to 0.

D (1 bit): This field MUST be set to 0.

I (1 bit): This field MUST be set to 0.

RES (3 bits): This field MUST be set to 0 and MUST be ignored by the receiver.

Length/Offset (3 bytes): This field MUST specify the size of the packet-pair data that directly follows the RTP payload format header in bytes.

Payload (variable): The bytes in this array MUST be set to highly entropic (random) data, and the content of the Payload field in each RTP packet that contains packet-pair data MUST be different. The size of the Payload field depends on if the sender is transmitting two or three RTP packets with packet-pair data.

If the sender is transmitting three RTP packets with packet-pair data, and the receiver does not allow the sender to decide the Payload field size, as specified in section 2.2.7.14, the size of the Payload field MUST be 1,454 bytes for the first packet, 1,455 bytes for the second packet, and 1,456 bytes for the third packet.

If the sender is transmitting two RTP packets with packet-pair data, and the receiver does not allow the sender to decide the Payload field size, the size of the Payload field MUST be 1,455 bytes for the first packet and 1,456 bytes for the second packet.

If the receiver does allow the sender to decide the Payload field size, the size of the Payload field MUST NOT be less than 482 bytes. Additionally, the size of the Payload field MUST satisfy the equation given by the following table. (PayloadSize denotes the size in bytes of the Payload field.)

Packet

 Sending two packet-pair packets

 Sending three packet-pair packets

First packet

PayloadSize modulo 3 = 0

PayloadSize modulo 3 = 2

Second packet

PayloadSize modulo 3 = 1

PayloadSize modulo 3 = 0

Third packet

N/A

PayloadSize modulo 3 = 1