← Back to team overview

rohc team mailing list archive

Re: [Question #661412]: Question Regarding interoperability testing


Question #661412 on rohc changed:

Didier Barvaux requested more information:

I analyzed the 39 packets. Here are some points that I noticed and some
related questions for you:

* You seem to have configured the ROHC compressor with MAX_CID = 3 since
the compressor uses CID=0,1,2,3 for packets #1-4 and then re-uses CID=0
for packet #5. Is that correct?

* The ROHC compressor re-uses CID=0 for packets #5-18 although they are
different streams (ie. different UDP destination ports). That's strange.
Did you specified some timing information for every packet to the ROHC
compressor? The ROHC compressor uses a Least Recently Used (LRU)
algorithm to determine which context to re-use first. Without timing
info, the LRU algorithm does not work well. The ROHC compressor always
re-uses CID = 0. Look at the way the non-regression test uses the timing
information from the PCAP capture file to provide some timing
information to the ROHC compressor: https://github.com/didier-

* The ROHC compressor uses the Uncompressed profile for packets #19-24
and #27. They are TCP packets. They could have been compressed with the
TCP profile or the IP-only profile instead of the Uncompressed profile.
Are the TCP and IP-only profiles disabled?

* The ROHC compressor compresses the packets #28-39 as one IP/UDP
stream. The first 3 packets are compressed with IR packet types to
establish the context. The next 9 packets are encoded as UO-0 packets.
They look fine. The Sequence Number (SN) looks OK according to the
previous IR packets. So are the encoding of the IP-ID and UDP checksum
fields. They are correctly decompressed with the ROHC library.

Please confirm my hypothesis. And try to solve the timing problem at the
compressor side, it might be a source of confusion for the Mobile ROHC


You received this question notification because your team ROHC Team is
an answer contact for rohc.