Effnet provides a highly portable, efficient and fully compliant software implementation of RObust Header Compression (ROHC) technology which is based on IETF standard RFC 3095 published in 2001. It is has been designed and standardized to address the need for high compression efficiency even in the presence of high bit error rates and long round trip times typically observed in wireless networks e.g. cellular and satellite.
Effnet ROHC™ header chain support
Both IPv4 and IPv6 are supported, with extension headers.
Support for AH, GRE, MINE and ESP-NULL headers.
Common applications of Effnet ROHC™
Effnet ROHC™ is an enabler of VoIP and a substantially increases the capacity on networks such as HSPA, EV-DO, WiMAX and LTE. The ROHC scheme has been adopted by standardization bodies such as 3GPP and 3GPP2 for efficient use of radio resources. 3GPP has recommended the use of ROHC since the Release 4 version of the specifications which include GPRS, WCDMA(UMTS), HSPA and now from release 8, LTE. In Release 5, ROHC is considered an essential part of the IP-based Multimedia Subsystem, IMS. 3GPP2 has recommended the use of ROHC in CDMA2000 1xEV-DO specifications. It is also being adopted by satellite modem manufacturers to attain better performance over satellite links.
Effnet scientists participated as authors of the IETF standard ROHC (RFC 3095). Effnet's research and development team is actively involved in the standardization process including interoperability and field tests as well as further developments.
Highlights of the latest version, 2.8
- Performance improvements.
- Code refactoring of the ROHC RTP and ESP profile compressors.
- This will aid compilers in generating better object code and result in a notably improved system performance.
- Updated to support recent CRs to the 3GPP TS 36.323 specifications.
- Fully compliant with IETF standards RFC3095 & RFC4815
- Lightweight implementation including all features suitable for low-end devices
- Highly portable ANSI C code with no operating system dependencies
- Platform, endianness and byte-order independent
- Highly configurable with compile and run-time options
- Highly modular with external memory management
- Multi-threading support
- Extensively tested, in-house as well as during interoperability and field tests.
Standards based functions:
- All profiles: Uncompressed (0x0000), RTP (0x0001), UDP (0x0002) and ESP (0x0003)
- Compression of IPv4 and IPv6 with extension headers
- All states and modes including mode transitions
- All ROHC packet types, including all extensions: 0, 1, 2, and 3
- Both interspersed and piggyback feedback and feedback options
- All encoding mechanisms: LSB, W-LSB, scaled RTP timestamp, timer-based RTP timestamp
- Local repair mechanisms with enhancements
- List compression
- ROHC Segmentation and Reassembly
- Packet Size Limitation Enforcements
- Reverse Decompression
Additional features for improved efficiency and operation:
- Full featured and efficient classifier and context manager module
- Efficient VoIP flow compression using:
- Improved field pattern detection algorithm
- Link layer information
- Effective use of feedback channel using a rate control mechanism
- Support for running and switching between multiple instances for redundancy and fail safe operation (Used in large systems)
- Support for 3GPP2 C.S0085-0 standard recommendations for header compression.
Effnet Classifier and Context Manager (EFFRCCM™)
The classification and context management is an essential component of header compression function. Even though RFC 3095 and RFC 3843 do not standardize it, Effnet provides this component together with Effnet ROHC™. The classifier and context manager does the following functions:
- Performs exact matching on all required header fields for ROHC, including IP version (IPv4 or IPv6), Source address, Source port, Destination address, Destination port, RTP SSRC (in special case).
- Handles AH, GRE and MINE headers.
- Handles IPv6 extension headers (sometimes used within IPv4, if tunneled).
- Detects and avoids fragmentation and IPv4 options.
- Provides profile hint for a packet based on header chain present.
- Provides context associated with a packet via context management.
Effnet provides support and maintenance services covering problem reporting, bug fixes, updates, training, consulting and integration. A sample application code together with detailed documentation covering well defined and easy to use API is provided to speed up the process of integration.