libSigComp: Open Source SigComp API
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

libSigComp project is a complete and compliant SigComp API to speed-up SigComp integration in Open-Source IMS projects. libSigComp is released under LGPLv3 license.

As many operators have begun to commercially deploy IMS, the relevance of using SigComp to lower bandwidth usage will come quickly. In my own opinion I think that most operators (especially those using RCS) will question how to reduce SIP signaling (registration, billing, presence, messaging …) bandwidth usage (who will pay bits?).

These questions will especially concern using SIP (or all other text-based protocols) in wireless handsets as part of 2.5G and 3G cellular networks.

SigComp stands for Signaling Compression and has been defined in RFC 3320 by the Internet Engineering Task Force (IETF) ROHC working group.

SigComp Architecture (From wikimedia)

Many application protocols used for multimedia communications are text-based and engineered for bandwidth rich links. As a result the messages have not been optimized in terms of size. For example, typical IMS/SIP messages range from a few hundred bytes up to two thousand bytes or more. For this reason, SigComp is mandatory for 3GPP IMS netwoks and PoC systems.

SigComp could also be useful for RCS (Rich Communication Suite) networks because of the size of the SIP packets (more than three thousand bytes for presence publication). Using SigComp in IMS/RCS context will reduce the round-trip over slow radio links.

Supported OS

  • Windows Xp/Vista (Visual Studio 2005 or Mingw32)
  • Windows Mobile 5 and later (Visual Studio 2005 or Mingw32ce/cegcc toolchain)
  • Symbian S60 (Carbide.c++ v2.0 with S60_3rd_FP2_SDK_v1.1)
  • All Linux, FreeBSD, ... (GCC 4.x)


    The goal of this project is to provide a SigComp framework which:

  • Could be used as an external API or Framework
  • Highly portable (Coded in C/C++ without any external dependencies)
  • Easily configurable (memory usage, priorities in static dictionaries, stateful/stateless modes, dynamic/static/shared compression types …)
  • Easy to integrate with any existing SIP/IMS stack, Proxy-CSCF, PoC client …
  • Allow to easily plug your own compressor (DEFLATE –RFC 1951- will be the default)
  • Robust
  • Efficiently run on mobile handsets (small footprint)
  • Use small memory (UDVM decompression)
  • Run fast without high CPU usage
  • Supports both TCP and UDP compression modes
  • Thread-safe


  • RFC 3320: Signaling Compression (SigComp)
  • RFC 3321: Signaling Compression (SigComp) - Extended Operations
  • RFC 3485: The Session Initiation Protocol (SIP) and Session Description Protocol (SDP) Static Dictionary for Signaling Compression (SigComp)
  • RFC 4077: A Negative Acknowledgement Mechanism for Signaling Compression
  • RFC 4464: Signaling Compression (SigComp) Users' Guide
  • RFC 4465: Signaling Compression (SigComp) Torture Tests
  • RFC 4896:Signaling Compression (SigComp) Corrections and Clarifications
  • RFC 5049: Applying Signaling Compression (SigComp) to the Session Initiation Protocol (SIP)
  • RFC 5112: The Presence-Specific Static Dictionary for Signaling Compression (Sigcomp)
  • RFC 1662: PPP in HDLC-like Framing
  • RFC 1951: DEFLATE Compressed Data Format Specification version
  • RFC 3174: US Secure Hash Algorithm 1 (SHA1)
  • 3GPP TR23.979 Annex C: Required SigComp performance


  • If you have any problem please look at Getting started guide
  • To have feedbacks or if you are interested for IOTs don’t hesitate to contact me at diopmamadou{at yahoo}dot fr.
  • libSigComp homepage:

    © 2009-2015 [Doubango Telecom](