lundi 25 mai 2009

libSigComp: THE Open-Source SigComp framework

I’m writing today to announce the launch of libSigComp, an Open-Source SigComp Framework. This project is intended to develop a complete and compliant SigComp Framework to speed-up SigComp integration in Open-Source IMS projects.

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 Internet Engineering Task Force (IETF) ROHC working group.

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 a mandatory part of 3GPP IMS.

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.

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


RFC 3320: Signaling Compression (SigComp)

RFC 3321: Signaling Compression (SigComp) - Extended Operations

RFC 4464: Signaling Compression (SigComp) Users' Guide

RFC 4465: Signaling Compression (SigComp) Torture Tests

RFC 4077: A Negative Acknowledgement Mechanism for Signaling Compression

RFC 3485: The Session Initiation Protocol (SIP) and Session Description Protocol

(SDP) Static Dictionary for Signaling Compression (SigComp)

RFC 5112: The Presence-Specific Static Dictionary for Signaling Compression (Sigcomp)

RFC 1951: DEFLATE Compressed Data Format Specification version

3GPP TR23.979 Annex C: Required SigComp performance

Released under LGPLv3


5 commentaires:

Anonyme a dit…

What are the deadline dates?

Mamadou Ibrahima a dit…


Thanks for your interest in libsigcomp project.
First beta release is available for download at


Anonyme a dit…

Please let me know how to download the source code from the google code website. I tried the svn checkout method but didn't work.

Do i need to be a member? If so how do i be a memer?


Mamadou Ibrahima a dit…


The source code is freely available to all (under LGPLv3 license).
You can get source from svn repository using this command:
"svn checkout libsigcomp-read-only"


Anonyme a dit…

There are problems with NGN library when running imsdroid on motorola xt912. At sign in the application crashes. On the debug mode I see a lot of memory addresses. the error is at initialisation sip stack i guess. Is not working. need advices.