3.1.4.6 Request to Retransmit Lost RTP Packets

This event occurs if the higher layer has detected that one or more RTP packets containing ASF data packets has been lost, and the higher layer wants to ask the server to resend one or more of the lost RTP packets.

For this higher-layer triggered event to be possible, the value of the State variable in the abstract data model MUST be PLAYING, the client MUST have requested that at least one of the streams be delivered over UDP by using the SelectStream request, and the client MUST have sent a SelectStream request for the retransmission stream (section 3.1.5.4).

The Sequence Number field in the RTP packets that belong to the same RTP session increment sequentially, and this allows the higher layer to detect if an RTP packet has been lost.

To request that the server resend one or more lost packets, the client MUST fill in the fields of one or more RTCP NACK messages, as specified in section 2.2.4.

No more than 32 RTCP NACK messages SHOULD be encapsulated in a single RTCP packet.

The RTCP packet that contains the NACK message MUST also contain an SDES message. The value of the ssrc parameter, in the syntax for the CNAME field in the SDES message, MUST be set to the numerical value of the ssrc field that the server specified in the Transport (section 2.2.6.11) header in the response to the SelectStream request for the retransmission stream.

The RTCP packet that contains the NACK message MUST be sent to the UDP port for RTCP packets that is given by the value of the RTCP-Destination-Port variable.