5.3 Profile-Specific Modifications to the RTP Header
5.3 Profile-Specific Modifications to the RTP Header
The existing RTP data packet header is believed to be complete for
the set of functions required in common across all the application
classes that RTP might support. However, in keeping with the ALF
design principle, the header may be tailored through modifications or
additions defined in a profile specification while still allowing
profile-independent monitoring and recording tools to function.
The marker bit and payload type field carry profile-specific
information, but they are allocated in the fixed header since
many applications are expected to need them and might otherwise
have to add another 32-bit word just to hold them. The octet
containing these fields may be redefined by a profile to suit
different requirements, for example with a more or fewer marker
bits. If there are any marker bits, one should be located in
the most significant bit of the octet since profile-independent
monitors may be able to observe a correlation between packet
loss patterns and the marker bit.
Additional information that is required for a particular
payload format, such as a video encoding, should be carried in
the payload section of the packet. This might be in a header
that is always present at the start of the payload section, or
might be indicated by a reserved value in the data pattern.
If a particular class of applications needs additional
functionality independent of payload format, the profile under
which those applications operate should define additional fixed
fields to follow immediately after the SSRC field of the
existing fixed header. Those applications will be able to
quickly and directly access the additional fields while
profile-independent monitors or recorders can still process the
RTP packets by interpreting only the first twelve octets.
If it turns out that additional functionality is needed in common
across all profiles, then a new version of RTP should be defined to
make a permanent change to the fixed header.