3.1.4.7 Request to Resend Lost Data Packets

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

For this higher-layer triggered event to be possible, the value of the State variable in the abstract data model MUST be STREAMING, the value of the UDP-Selected variable MUST be 1, and the value of the FunnelInfo-Count variable MUST NOT be 0. If this higher-layer triggered event is not possible, its occurrence MUST be treated as an error.

The AFFlags field in the Data (section 2.2.2) packets that contain ASF data packets increments sequentially; this allows the higher layer to detect if a Data (section 2.2.2) packet has been lost.

To request that the server resend one or more lost Data (section 2.2.2) packets, the client MUST fill in the fields of a RequestPacketListResend (section 2.2.5) packet.

The value of the dwClientId field in the RequestPacketListResend (section 2.2.5) packet MUST be set to the value of the Client-ID variable in the abstract data model.

Each element in the dwBeginPacketList field of the RequestPacketListResend (section 2.2.5) packet MUST be set to the 32-bit sequence number of a Data (section 2.2.2) packet that the clients want the server to resend. The AFFlags field in the Data (section 2.2.2) packets contains the least significant 8 bits of the sequence number. To correctly compute the 32-bit sequence number, the client MUST keep track of when the 8-bit AFFlags field wraps around.

If the value of the Proxy-Port variable is 0, then the RequestPacketListResend (section 2.2.5) packet MUST be sent to the server using UDP to the port number obtained by parsing the URL that is stored in the Server-URL variable in the abstract data model. If the URL does not specify a port number, UDP port 1755 MUST be used.

If the value of the Proxy-Port variable is not 0, then the RequestPacketListResend (section 2.2.5) packet MUST be sent using UDP to the port number specified by the Proxy-Port variable and to the IP address specified by the Proxy-Address variable.