The ROHC library provides an easy and robust way for applications to reduce their bandwidth usage on network links with limited capacity. Headers of network packets are compressed with the ROHC protocol and algorithms. The library is published as opensource under the LGPL license (version 2.1 or later).
RObust Header Compression (ROHC) is a standardized method defined by the IETF to compress the IP, UDP, RTP, and TCP headers of Internet packets. This compression scheme differs from other compression schemes by the fact that it performs well over links where the packet loss rate is high, such as wireless links.
In streaming applications, the overhead of IP, UDP, and RTP is 40 bytes for IPv4, or 60 bytes for IPv6. For VoIP this corresponds to around 60% of the total amount of data sent. Such large overheads may be tolerable in wired links where capacity is often not an issue, but are excessive for wireless systems were bandwidth is scarce. ROHC compresses these 40 bytes or 60 bytes of overhead typically into only 1 or 3 bytes by placing a compressor before the link that has limited capacity, and a decompressor after that link. The compressor converts the large overhead to only a few bytes, while the decompressor does the opposite.
The ROHC library implements the RObust Header Compression (ROHC) protocol as defined by the IETF. Its objective is to provide a free ROHC implementation conform to the ROHC standards (see http://
Please feel free to use or contribute to the ROHC library. The following resources are available to help you:
- Some tutorials on the wiki: http://
- Online documentation: http://
- A mailing list is dedicated to questions and discussions about the library:
- subscription: http://
- archive: http://
- A bug tracker is ready to keep track of bugs you might find:
The library was initially developed in the frame of a project involving the French space agency (CNES), Thales Alenia Space (TAS) and Viveris Technologies (http://
All bugs Latest bugs reported
Bug #1414411: Add support for musl libc
Reported on 2015-01-25
Bug #1407271: TCP profile: decompressor fails to decode duplicate SYN/ACK
Reported on 2015-01-03
Bug #1407084: TCP profile: DSCP not correctly handled
Reported on 2015-01-02
Bug #1400690: Assert while decompression on TCP profile
Reported on 2014-12-09
Bug #1357078: Incorrect implementation of IP static header in IR packet
Reported on 2014-08-14