Source FEC Payload Mapping Information for Sequence Flow
draft-zixuan-fecframe-source-mi-00.txt

IETF#75, July 2009, Stockholm

Introduction
To indicate the position of source packet in a source block.
To group source and repair packets into source block.
The FEC Framework [I-D.ietf-fecframe-framework] describes a Generic Explicit Source FEC Payload Id to arbitrary packet flows.
A FEC-Framework-incompatible client  would fail to understand the source packet with FEC payload ID included.
Considering backward compatibility by not changing the source packet format, a possible way to follow is  to transmit the source FEC payload IDs in separate packets.
This draft specifies a FEC payload header and a source FEC payload mapping information unit (MIU).

Packet format for source FEC payload MIU

FEC payload header format
fec_id (8 bits): This field identifies the FEC scheme used for FEC protection. The FEC scheme identified by this field determines the content of source FEC payload ID and FEC repair packet carried by FEC payload.
PT (8 bits): PT (Payload Type) field indicates the FEC payload type. If PT is set to 1, it indicates that the FEC payload is source FEC payload ID. If PT is set to 2, it indicates that FEC payload is repair packet.
reserved (16 bits): reserved for future use.

The source FEC payload MIU format
flow_id (4 bits): This field identifies the source packet flow to which FEC protection is applied.
length (12 bits): This field indicates the number of source FEC payload ID involved in a source FEC payload MIU.
Initial_seq_number (16 bits): This field indicates the sequence number of the starting source packet with respect to flow_id of a source block. The starting source packet belongs to the source packet flow identified by flow_id field.
Source_FEC_Payload_ID (Variable Length): This field is identical to “Source FEC Payload ID” defined in draft-ietf-fecframe-framework-05. The field size is dependent upon the FEC scheme identified by fec_id field in FEC payload header. This field in conjunction with initial_seq_number determines which source block a FEC source packet belongs to and the position of a FEC source packet in the FEC source block.

MIU Example
A MIU example is shown in Figure, where compact no-code FEC scheme is used to protect two flows. The flow_id of protected flows are 1 and 2 respectively.

The repair packet format
The repair FEC payload ID shall be in accordance with [I-D.ietf-fecframe-framework].

Multiplexing
There are several  ways of multiplexing
Session multiplexing, where repair streams and the source MIU are in different session (different dest address/port).
PT multiplexing, where repair streams and the source MIU have different PT in FEC payload header but are transmitted in the same session.
SSRC multiplexing ,where repair streams and the source MIU have different SSRC but are transmitted in the same RTP session.

Reliability
To improve reliability
multiple-copy of the MIU
Interleaved sending arrangement

Conclusion
Keeping the source packets unchanged is advisable
backward compatibility
PT multiplexing
MIU and repair packets can be  transmitted in the same multicast group
MIU is Interleaved with repair packets
MIU and repair packets can be received at the same time ,it means that there is not additive latency.