Hello,
following the Kristian's email and blog about Apple Facetime using compressions of the body (http://lists.sip-router.org/pipermail/sr-users/2013-September/079816.html), I did a quick coding Friday evening and put together a new module that uses zlib to compress/decompress the body for SIP messages - I named it gzcompress, its readme is available at: - http://kamailio.org/docs/modules/devel/modules/gzcompress.html
Might be useful for those that want to save bandwidth when peering two kamailios or target to get under MTU size. It is now enabled for SIP traffic only, but the plan is to get it for http as well, where it can be more relevant for xcap traffic.
Cheers, Daniel
Hi Daniel,
Thanks again for developing this functionality! As I mentioned in my first mailing list post I'd like to see more support for this in the open source community. I've written an update describing the status of various implementations:
http://blog.krisk.org/2013/09/learning-stupid-nat-tricks-from-apple.html
Having support for this in Kamailio is an important first step. Thanks again!
On Mon, Sep 23, 2013 at 8:14 AM, Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
following the Kristian's email and blog about Apple Facetime using compressions of the body (http://lists.sip-router.org/pipermail/sr-users/2013-September/079816.html), I did a quick coding Friday evening and put together a new module that uses zlib to compress/decompress the body for SIP messages - I named it gzcompress, its readme is available at:
Might be useful for those that want to save bandwidth when peering two kamailios or target to get under MTU size. It is now enabled for SIP traffic only, but the plan is to get it for http as well, where it can be more relevant for xcap traffic.
Cheers, Daniel
-- Daniel-Constantin Mierla - http://www.asipto.com http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Kamailio Advanced Trainings - Berlin, Oct 21-24; Miami, Nov 11-13, 2013
- more details about Kamailio trainings at http://www.asipto.com -
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
To note, though, Kamailio has no problem dealing with fragmented UDP. It becomes a problem when sending UDP that gets fragmented to a UA that can't reassemble it, or when sending to Kamailio through a NAT gateway that can't properly reassemble it.
-- Alex
Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
following the Kristian's email and blog about Apple Facetime using compressions of the body (http://lists.sip-router.org/pipermail/sr-users/2013-September/079816.html),
I did a quick coding Friday evening and put together a new module that uses zlib to compress/decompress the body for SIP messages - I named it
gzcompress, its readme is available at:
Might be useful for those that want to save bandwidth when peering two kamailios or target to get under MTU size. It is now enabled for SIP traffic only, but the plan is to get it for http as well, where it can be more relevant for xcap traffic.
Cheers, Daniel
It's not Kamailio (or any of these other projects) that I'm concerned about. As I've noted I'm most concerned about "in the middle" devices like NATs, firewalls, etc.
Important clarification though, thanks!
On Mon, Sep 23, 2013 at 11:25 AM, Alex Balashov abalashov@evaristesys.com wrote:
To note, though, Kamailio has no problem dealing with fragmented UDP. It becomes a problem when sending UDP that gets fragmented to a UA that can't reassemble it, or when sending to Kamailio through a NAT gateway that can't properly reassemble it.
-- Alex
Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
following the Kristian's email and blog about Apple Facetime using compressions of the body
(http://lists.sip-router.org/pipermail/sr-users/2013-September/079816.html),
I did a quick coding Friday evening and put together a new module that uses zlib to compress/decompress the body for SIP messages - I named it
gzcompress, its readme is available at:
Might be useful for those that want to save bandwidth when peering two kamailios or target to get under MTU size. It is now enabled for SIP traffic only, but the plan is to get it for http as well, where it can be more relevant for xcap traffic.
Cheers, Daniel
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Short notes to let everyone know about some updates to the module - I just pushed few patches that enables compression/decompression for http traffic as well, so it can be used for xcap.
Also, I changed the default value of Content-Encoding header value from gzip (which I saw in rfc 3261) to deflate, which is used by FaceTime, but more important works with Firefox out of the box. Thus I assumed is the right value and should make the encoding compatible with Facetime (not that they do peering/federation over sip, but anyhow).
The readme has now a small config as example to get everyone starting with the module.
Credits to Kristian for his technical article in the first place as well as the follow up on the business side of the development.
Cheers, Daniel
On 9/23/13 5:32 PM, Kristian Kielhofner wrote:
It's not Kamailio (or any of these other projects) that I'm concerned about. As I've noted I'm most concerned about "in the middle" devices like NATs, firewalls, etc.
Important clarification though, thanks!
On Mon, Sep 23, 2013 at 11:25 AM, Alex Balashov abalashov@evaristesys.com wrote:
To note, though, Kamailio has no problem dealing with fragmented UDP. It becomes a problem when sending UDP that gets fragmented to a UA that can't reassemble it, or when sending to Kamailio through a NAT gateway that can't properly reassemble it.
-- Alex
Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
following the Kristian's email and blog about Apple Facetime using compressions of the body
(http://lists.sip-router.org/pipermail/sr-users/2013-September/079816.html),
I did a quick coding Friday evening and put together a new module that uses zlib to compress/decompress the body for SIP messages - I named it
gzcompress, its readme is available at:
Might be useful for those that want to save bandwidth when peering two kamailios or target to get under MTU size. It is now enabled for SIP traffic only, but the plan is to get it for http as well, where it can be more relevant for xcap traffic.
Cheers, Daniel
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
"DM" == Daniel-Constantin Mierla miconda@gmail.com writes:
DM> Also, I changed the default value of Content-Encoding header value DM> from gzip (which I saw in rfc 3261) to deflate, which is used by DM> FaceTime, but more important works with Firefox out of the box. Thus I DM> assumed is the right value and should make the encoding compatible DM> with Facetime (not that they do peering/federation over sip, but DM> anyhow).
The gzip encoding tag means that the body is what one would get out of running gzip(1) on the original data. Ie, it includes the gzip(1) headers, et alia, as specified in http://www.ietf.org/rfc/rfc1952.txt.
The deflate tag specifies that the data is DEFLATEd, but does not include the extra gzip(1)-specific data.
The gzip scheme is meant for the case where the files are pre-compressed external to the server, so that the server can send the files as is.
The deflate scheme is meant for cases like this where the data is compressed on the fly.
So the change was the correct option.
-JimC