Solution for Cellular IoT

3GPP has introduced support for Internet of Things (IoT) via Cellular IoT (EC-GSM, LTE-M and NB-IoT) standards in its Rel 13 specifications. The aim is to efficiently support billions of devices which vary widely in terms of their processing power, battery life, cost and need for extended coverage. Cellular IoT will support numerous services including utility meters/smart meters, vending machines, automotive (fleet management, traffic management etc), security monitoring and reporting, medical monitoring and alarms/alerts. Depending on services provided, some of these devices will send/receive data infrequently at large intervals (e.g. various sensors/meters in the field) or frequently at regular intervals (e.g. cameras or security appliances).

3GPP CIoT network architecture

Figure 1: 3GPP Cellular IoT network architecture

Cellular IoT supports multiple methods of data transfer between a CIoT-UE and CIoT-Application Server/Services which include the conventional method of data transfer via user plane and new methods such as infrequent and small data transfer via control plane or non-IP data transfer (NIDD) for the efficient use of control plane messaging.

The standards TS 23.401 v13.7.0 and TS 24.301 v13.6.0 (sections 6.2A, define Control Plane CIoT EPS optimization, User Plane CIoT optimization and Non-IP Data Delivery. These methods are appropriate for the transmission of infrequent and small data packets.

ROHC in control plane

Figure 2: ROHC in control plane via NAS at UE and MME (Data over NAS Convergence Protocol) and in user plane via PDCP at UE and eNB

For the Control Plane CIoT EPS optimization, data exchange between UE and eNB is done on RRC level and between UE and MME is done at NAS level. 3GPP has recommended ROHC for efficient use of radio resources since Release 4 onwards for WCDMA and since Rel 8 for LTE, mainly for VoIP and other applications on the user plane via PDCP. Now in Rel 13, 3GPP has recommended ROHC for Cellular IoT for NB-IoT services via control plane optimization. The UE and the MME support robust header compression (ROHC) framework if control plane CIoT EPS optimization is supported for PDN connections of IP PDN type.

ROHC in UL/DL between UE and MME

Figure 3: ROHC in uplink and downlink between UE and MME

For uplink IP data, UE implements ROHC compressor, and MME implements the ROHC decompressor. For downlink IP data, MME implements the ROHC compressor, and UE implements the ROHC decompressor. The uplink and downlink ROHC channels are bound by UE and MME to support ROHC feedback. The configurations for the header compression are established during the PDN connection establishment procedure.

The Effnet ROHC product portfolio consists of software products based on various IETF standards which define RObust Header Compression (ROHC).

  • Effnet ROHC™ (ROHC Uncompressed 0x0000, RTP 0x0001, UDP 0x0002 and ESP 0x0003 profiles).
    • Fully compliant with RFC 3095 and RFC 4815
  • Effnet ROHC-IP™ (IP 0x0004 profile).
    • Fully compliant with RFC 3843
  • Effnet ROHC-TCP™ (ROHC-TCP 0x0006 profile).
    • Fully compliant with RFC 4996
  • Effnet ROHCv2™ (ROHC Uncompressed 0x0000, RTPv2 0x0101, UDPv2 0x0102, ESPv2 0x0103 and IPv2 0x0104 profiles).
    • Fully compliant with RFC 4995 and RFC 5225

For NB-IoT terminal/chipset/protocol stack:

Integration point of ROHC in NAS in UE

Figure 4: Integration point of ROHC in NAS in UE

Effnet ROHC portfolio is integrated in a terminal at NAS level. This proven implementation that has already been integrated into terminals via chipset and protocol stack vendors is highly system efficient, making it possible to run on devices with limited capacity and battery.


Integration point of ROHC in NAS in MME

Figure 5: Integration point of ROHC in NAS in MME

Effnet ROHC portfolio is integrated in SGSN-MME at NAS level. This proven implementation that has already been integrated into products, like macro eNB, C-RAN eNB (vBBU), PDSN (from CDMA2000), ASN-GW (WiMAX), is highly system efficient making it possible to scale support for millions of connections/UEs.

For Test and measurement/service assurance:

Integration point of ROHC in a test system and a system under test

Figure 6: Integration point of ROHC in a test system and a system under test

Effnet ROHC portfolio is integrated in UE-eNB simulator which supports S1-MME interface testing. This proven implementation that has already been integrated into products, like multi-UE test systems, is highly system efficient making it possible to scale support for millions of simulated connections/UEs.

Effnet’s ROHC product portfolio

Effnet’s ROHC product portfolio consists of the following products:

Product Usage Profile Identifiers References
Effnet ROHC™ Uncompressed, RTP/UDP/IP, UDP/IP, ESP/IP 0x0000, 0x0001, 0x0002, 0x0003 RFC 3095, RFC 4815
Effnet ROHC-IP™ IP 0x0004 RFC 3843, RFC 4815
Effnet ROHC-TCP™ TCP/IP 0x0006 RFC 4996
Effnet ROHCv2™ Uncompressed, RTP/UDP/IP, UDP/IP, ESP/IP, IP 0x0101, 0x0102, 0x0103, 0x0104 RFC 5225

Standards Compliance

  • IETF standards
    • RFC 3095 "RObust Header Compression (ROHC)"
    • RFC 3843 "RObust Header Compression (ROHC): A Compression Profile for IP"
    • RFC 4815 "RObust Header Compression (ROHC): Corrections and Clarifications to RFC 3095"
    • RFC 4995 "The RObust Header Compression (ROHC) Framework"
    • RFC 4996 "RObust Header Compression (ROHC): A Profile for TCP/IP (ROHC-TCP)"
    • RFC 4997 "Formal Notation for RObust Header Compression (ROHC-FN)"
    • RFC 5225 "RObust Header Compression Version 2 (ROHCv2): Profiles for RTP, UDP, IP, ESP and UDP-Lite"

Standards referral

  • IETF standards
    • RFC 3759 “RObust Header Compression (ROHC): Terminology and Channel Mapping Examples"
    • RFC 3816 “Definitions of Managed Objects for RObust Header Compression"
    • RFC 4224 “RObust Header Compression (ROHC): ROHC over Channels that can Reorder Packets"
    • RFC 3241 “ROHC over PPP"
  • Other standards
    • 3GPP TS 36.323, TS 25.323 Packet Data Convergence Protocol (PDCP)
    • 3GPP TS 44.065 SubNetwork Dependent Convergence Protocol (SNDCP)
    • Compliant with 3GPP IP based Multimedia Service (IMS) requirements
    • Compliant with 3GPP Multimedia Broadcast Multicast Service (MBMS) requirements
    • Compliant with 3GPP2 : CDMA2000 EV-DO Rev A

Portability and ease of integration

Effnet’s ROHC product portfolio has been ported to and integrated on many different platforms. The operating systems include VxWorks, Nucleus, Linux, Windows (2000/XP), Solaris, FreeBSD and processors include PowerPC, MIPS, ARM, SPARC and x86. As the products are highly portable, they can be easily ported to many other operating systems, both real-time and generic as well as to other processors, both 32-bit and 64-bit regardless of byte-order.

  • Highly portable code
    • is written in ANSI C
    • has variable types defined such that the variables behave the same way across different compilers.
    • is memory alignment safe.
    • is endianess independent.
    • does not require OS timers and does not have OS dependencies.
    • is re-entrant.
  • A well defined Application Programming Interface (API)
    • a set of functions and parameters.
    • documentation and sample application code.
    • provides control of memory management.
    • provides control over multi-threading of the application.
  • Small memory footprint and low CPU power requirement
    • makes it suitable for both mobile terminals as well as large system nodes like eNB, RNC, PDSN, ASN-GW etc.
  • A sample application demonstrates how to use the API which speeds-up the integration process.
  • Interoperable
    • Has been extensively tested during field tests by customers, all the ROHC interoperability tests conducted by IETF and internal rigorous quality process.

Additional features

In addition to the features specified in the standards, the Effnet ROHC product portfolio has the following efficiency and robustness improving features:

  • Full featured and efficient classification and context management module.
  • Highly efficient compression and decompression using field pattern change detection algorithm and link layer information when available.
  • Support for handover via context re-initialization.
  • Support for AT reboot via feedback options, the decompressor reinstates the compressor context information.
  • Mechanisms to reduce usage of feedback channel.
  • Support for chained memory buffer.
  • Interactive statistics and callback functions.
    • User can read and/or reset statistical information at desired time intervals. The callback functions provide useful state information.
  • Dynamic channel parameter configuration.
  • Adaptive mechanisms for improved compression efficiency & context damage detection under various channel conditions.
  • List Compression and many of the channels and flow specific parameters, are highly configurable.

All additional features above are transparent with regard to interoperability.

Effnet Classifier and context manager

Packet classification and context management is essential to header compression. Effnet provides this additional module together with the Effnet ROHC product family.

Effnet ROHC™ (ROHC profiles Uncompressed 0x0000, RTP 0x0001, UDP 0x0002 and ESP 0x0003)

The VoIP enabler on wireless networks! Effnet ROHC™ is an important component to run VoIP services efficiently over wireless networks. Most of the RTP applications use UDP for signaling purposes and there are many stand-alone UDP applications e.g. light weight REST protocols such as CoAP, so the support for IP/UDP compression adds further to the efficiency. There is significant demand for secure exchange of information which leads to increased header overhead. The capability to compress IP/ESP, the header overhead in secure connections, makes it possible to run secure networks without additional bandwidth.

The following table shows some examples of bandwidth savings using ROHC for various codecs and protocols:

Traffic type Avg. packet size (w/o ROHC) (bytes) Avg. packet size (w ROHC) (bytes) Savings (%)
AMR (4.75Kbps) 52 15 71
AMR (12.2Kbps) 71 34 52
IPv4/UDP/CoAP GET/PUT 53 29 45
IPv6/UDP/CoAP GET/PUT 73 49 33

Effnet ROHC-IP™ (ROHC profile IP 0x0004)

As more and more networks are moving to support IP based communications, the number of nodes that require an IP address are increasing rapidly. The introduction of IPv6 should address this concern but at least during transition time, a lot of traffic will be sent via tunnels across networks. Effnet ROHC-IP™ is capable of compressing layers of IP headers thus making it possible to run tunneled traffic without need for additional bandwidth.

Effnet ROHC-TCP™ (ROHC profile TCP 0x0006)

Multiple Internet packet size studies* are in agreement that at least 40% of all IPv4 packets carry no or only a few bytes of payload i.e. packet sizes are at or very near to header size (IPv4+TCP). One study of IPv6 packets shows the same trend. Even more remarkable in that study is that for IPv6, 60-80% packets carry more header data than packet data. Effnet ROHC-TCP™ would be very beneficial in these cases.

Significant benefit of ROHC-TCP over uplink due to small packets and payloads

Figure 7: Significant benefit of ROHC-TCP over uplink due to small packets and payloads

Traffic type Avg. packet size (w/o ROHC) (bytes) Avg. packet size (w ROHC) (bytes) Savings (%)
IPv4/TCP ACK (w/o options) 40 10 75
IPv4/TCP ACK (Timestamp) 52 13 75
IPv4/TCP HTTP GET (basic) 70 40 43

* Packet size studies at

Effnet ROHCv2™ (ROHC profiles Uncompressed 0x0000, RTP 0x0101, UDP 0x0102, ESP 0x0103and IP 0x0104)

Mobility is the cornerstone of the cellular networks but supporting it efficiently is a tricky business. As the cellular network architectures have evolved, the integration point of ROHC in system nodes has moved closer towards mobile terminals for various reasons but has lead to a problem of handling reordering of packets during mobility. Effnet ROHCv2™ addresses this concern very efficiently while providing high compression efficiency and robustness.

Maintenance and support

The Effnet ROHC product portfolio is offered with a full range of support services, including problem reporting, bug fixes, updates, training, consulting and integration services. A team of engineers experienced in standardization of header compression technology, implementation and testing of product portfolio is available for support and consulting services.


For licensing of the Effnet ROHC product portfolio, complete or individual products, please contact us at

An example of header compression by Effnet ROHC™ portfolio

Figure 8: An example of header compression by Effnet ROHC™ portfolio