Revision Summary Date Revision History Revision Comments 4/10/2009 0.1 Major First Release. 5/22/2009 0.1.1 Editorial Changed language and formatting in the technical content. 7/2/2009 0.1.2 Editorial Changed language and formatting in the technical content. 8/14/2009 0.1.3 Editorial Changed language and formatting in the technical content. 9/25/2009 0.2 Minor Clarified the meaning of the technical content. 11/6/2009 0.2.1 Editorial Changed language and formatting in the technical content. 12/18/2009 0.2.2 Editorial Changed language and formatting in the technical content. 1/29/2010 0.2.3 Editorial Changed language and formatting in the technical content. 3/12/2010 0.3 Minor Clarified the meaning of
the technical content. 4/23/2010 0.3.1 Editorial Changed language and formatting in the technical content. 6/4/2010 0.3.2 Editorial Changed language and formatting in the technical content. 7/16/2010 0.3.2 None No changes to the meaning, language, or formatting of the technical content. 8/27/2010 0.3.2 None No changes to the meaning, language, or formatting of the technical content. 10/8/2010 0.3.2 None No changes to the meaning, language, or formatting of the technical content. 11/19/2010 0.3.2 None No changes to the meaning, language, or formatting of the technical content. 1/7/2011 0.3.2 None No changes to the
the technical content. 7/12/2012 2.0 None No changes to the meaning, language, or formatting of the technical content. 10/25/2012 2.1 Minor Clarified the meaning of the technical content. 1/31/2013 2.1 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 3.0 Major Updated and revised the technical content. 11/14/2013 3.0 None No changes to the meaning, language, or formatting of the technical content. 2/13/2014 4.0 Major Updated and revised the technical content. 5/15/2014 4.0 None No changes to the meaning, language, or formatting of the technical content.
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 ClientId QCCSeqNo ... BackOff ServerTime ... ... HiODATASeqNo ... ... LossRate ... ... AppDataLen AppData (variable) ... ClientId (4 bytes): Specifies the unique ID assigned to the client by the server using the JOINACK packet (section ). QCCSeqNo (8 bytes): MUST be set to zero. BackOff (2 bytes): MUST be set to zero. ServerTime (8 bytes): MUST be set to zero. HiODATASeqNo (8 bytes): MUST be set to the highest ODATASeqNo from the ODATA or RDATA packet received by client. If the client has not received an ODATA or RDATA packet, then this field MUST be set to zero. LossRate (8 bytes): MUST be set to the loss rate for the client. AppDataLen (2 bytes): MUST be set to the length, in bytes, for the AppData field. AppData (variable): Specifies the Application Data provided by the WDS Multicast Application Protocol, as specified in . The protocol acts as transport for the Application Data and MUST NOT define the structure for it. The Extended Options for QCR packet are specified in section . Extended Options The client MAY send the following Extended Options in a QCR packet. Extended Option Description
ODATA packet in the range from TrailODATASeqNo to LeadODataSeqNo (inclusive), and the server MAY send the requested packets as RDATA packets. DataLen (2 MUST be set to the length, in bytes, of the Data field. Data (variable): MUST be set to the data provided by the WDS Multicast Application Protocol, as specified in . This packet does not have any Extended Options. NACK Packet This packet is sent by the client to request retransmission of an ODATA packet using an RDATA packet. The packet is sent to the unicast address of server. 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 ClientId HiODATASeqNo ... LossRate ... RangeCount RangeList (variable) ... ClientId (4 bytes): Specifies the unique ID assigned to the client by the server using the JOINACK packet (section ). HiODATASeqNo (8 bytes): MUST be set to the highest ODATASeqNo for ODATA packets seen by the client. LossRate (8 bytes): MUST be set to the loss rate for the client. RangeCount (2 Specifies the number of ranges for ODATA packets that the client did not receive. Each range is specified using a pair of (StartSeqNo, EndSeqNo) fields. RangeList (variable): MUST be set to an array of ODATA ranges as specified in section . The count of elements in the array MUST match the count specified using RangeCount field. This packet does not have any Extended Options. NACK RangeList Each element of the array MUST be specified as follows. 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 StartODATASeqNo
F 9 G 7 H Higher-layer triggered events 51 34 I 62 17 17 62 8 Initialization 50 34 7 J JOIN packet - processing 36 36 37 37 14 14 54 15 15 Joining multicast session 53 53 52 K 59 22 KICK Trigger - processing 38 38 22 L 37 21 21 Leaving 53 53 54 Local events 60 46 LossReport - updating 57 56 56 M Message processing client 60 55 52 53 57 52 59 54 59 60 58 54 54 59 56 59 57 56 server 35 40 44 36 38 37 37 38 38 39 Messages 24 23 13 14 15 22 21 27 28 25 10 20 20 16 16 26 10 12 24 syntax 12 10 11 12 15 10
message processing 35 40 44 36 38 37 37 38 38 39 46 30 sequencing rules 35 40 44 36 38 37 37 38 38 39 timer events 45 44 46 46 45 44 45 45 45 34 12 12 56 24 24 9 Syntax 15 10 19 Security Header 12 11 12 T Timer events 60 server 45 44 46 46 45 44 45 45 45 Timers 50 34 64 10 Triggered events - higher-layer 51 34 V 9 9