packet type

Asked by regulararmy on 2018-10-23


        in source code, when decide packet types in RTP FO state, it only choose packet type in IR_DYN and UO-2, however, the UO-1-ID also have X bit , corresponding to extension, why it can not be used? where can I find the decide-packet strategy specification in RFC? Thanks a lot.

  Best Regards,

Question information

English Edit question
rohc Edit question
No assignee Edit question
Solved by:
Last query:
Last reply:

This question was reopened


Choosing the best ROHC packet to use is not fully specified in RFCs. Some constraints and
guidelines are given, but choosing the best ROHC packet is left to the implementations.
The RFC 3095 §5.2.7 ( gives some insights,
especially for the UO-1-ID packet:

  Packet type 1: R-1, R-1-ID, R-1-TS, UO-1, UO-1-ID, UO-1-TS.

      U-mode and O-mode: Only the values of RTP SN, RTP TS and IP-ID can
      be used as references for future compression. Nonupdating values
      can be provided for other fields using an extension (UO-1-ID).

The UO-1-ID packet with X=1 may be used but not for updating the context with the
new information transmitted in the extension. So, the IR or UOR-2 packets are used
to update the context.


regulararmy (regulararmy) said : #2

        "Nonupdating values can be provided for other fields using an extension (UO-1-ID)." why it can not update the context ?

UO-1 packets are protected by a 3-bit CRC. UOR-2 packets are protected by a 7-bit CRC. The 3-bit CRC is not considered enough to avoid residual errors to remain undetected. Updating the decompressor context with one UO-1 packet with a undetected residual error would cause error propagation on the next packets.

regulararmy (regulararmy) said : #4

Thanks Didier Barvaux, that solved my question.

regulararmy (regulararmy) said : #5

hello Didier,

        How do we choose the UOR-2-* packet ,how do we choose the UO-1-* packet, especially among the ***-RTP and ***-TS, in you code, I see the code, when decide packet types in RTP SO state,when ipid is random, the UOR-2-RTP is chosed,not UOR-2-TS,why? when decide packet types in RTP FO state,if ip head num =1 and tmp-send dynamic num > 2, the IR-DYN is chosed, can we choose the UOR-2 packet types?it also can carry dynamic fileds.
Thanks a lot.

Best Regards,


regulararmy (regulararmy) said : #6

now I see the reasons,Thank you .