[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