[OpenSIPS-Users] Compression module

Ionut Ionita ionutionita at opensips.org
Thu Feb 19 15:18:24 CET 2015


Hello all,

I'm glad to announce the new openSIPS compression module. This module is 
able to achieve deflate and gzip compression/decompression and also SIP 
message compaction.
One common issue we are facing when using SIP over UDP is message 
fragmentation, because there is no way to reassemble the original 
packet. The only way we can prevent fragmentation is to reduce the size 
of the message. One use case is when you have multiple OpenSips proxies, 
which internally communicate using UDP, but outside the SBCs use TCP. 
You definitely do not want fragmentation, as you won’t be able to 
rebuild the original message when TCP will be used when it leaves the 
proxies.
The compression module gives you the means to reduce the size of the 
message, by using the following  features:
     - message body and the header compression
     - unnecessary headers removal
     - header name reduction to RFC compact form (such as 'v' for 
'Via'); we support a limited set of compact headers from RFC 3261 and 
RFC 4028 (complete list at [2])
     - unnecessary attribute lines removal  from the sdp body which 
represent default values
You don't have to worry about the time when you do the compression in 
the script, because it is being done just before the message is being 
sent, so any message body changes you might have done are not affected 
by this module.
The module, for the moment, supports both gzip and deflate formats. We 
are also planning to develop new compression algorithms, depending on 
the community’s needs.
Another thing future users might find useful, is the performance tests 
we have done using different SIP message headers and bodies. You can 
find details about this here [3]. Using the data over there you should 
understand what scenarios apply to the compression function.
You can find a full compression module tutorial on [4] and documentation 
[1], which will help you understand better how to use the module and 
give you a better picture about the scenarios in which you should use 
this module.
The module is alpha, it needs real scenarios testing, so we look forward 
to receiving useful feedback and help from you.

Best regards,
Ionut Ionita

[1] http://www.opensips.org/html/docs/modules/2.1.x/compression.html
[2] 
http://www.opensips.org/html/docs/modules/2.1.x/compression.html#id293508
[3] 
http://www.opensips.org/html/docs/modules/2.1.x/compression.html#id293739
[4] http://www.opensips.org/Documentation/Tutorials-Compression-2-1



More information about the Users mailing list