[sr-dev] git:master: gzcompress: added a small usage example in docs

Daniel-Constantin Mierla miconda at gmail.com
Mon Sep 23 19:01:52 CEST 2013


Module: sip-router
Branch: master
Commit: 65783f24859f5da45678f2c8a005ca867cc02b86
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=65783f24859f5da45678f2c8a005ca867cc02b86

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date:   Mon Sep 23 19:01:10 2013 +0200

gzcompress: added a small usage example in docs

---

 modules/gzcompress/README                   |   68 ++++++++++++++++++++++++++-
 modules/gzcompress/doc/gzcompress_admin.xml |   68 ++++++++++++++++++++++++++-
 2 files changed, 134 insertions(+), 2 deletions(-)

diff --git a/modules/gzcompress/README b/modules/gzcompress/README
index c3c8e6e..f594c0c 100644
--- a/modules/gzcompress/README
+++ b/modules/gzcompress/README
@@ -33,11 +33,14 @@ Daniel-Constantin Mierla
 
               4.1.
 
+        5. Config File
+
    List of Examples
 
    1.1. Set header_name parameter
    1.2. Set header_value parameter
    1.3. Set sanity_checks parameter
+   1.4. Enable body compression
 
 Chapter 1. Admin Guide
 
@@ -59,11 +62,14 @@ Chapter 1. Admin Guide
 
         4.1.
 
+   5. Config File
+
 1. Overview
 
    This module is able to detect compressed body in received SIP message
    and decompress it as well as compress the body for outgoing SIP
-   message.
+   message. It works also for received HTTP request and replied HTTP
+   response (Kamailio cannot work in HTTP proxy mode).
 
    The decision of whether to do compression or decompression is made by
    detecting a special SIP header (default 'Content-Encoding') that
@@ -160,3 +166,63 @@ modparam("gzcompress", "sanity_checks", 1)
    4.1.
 
    None.
+
+5. Config File
+
+   Next example shows how to enable compression for forwarded requests, as
+   well as replying with compressed body for HTTP requests. For SIP, the
+   request is recevied and forwarded to itself once, just for the sake of
+   showing a simple example.
+
+   Example 1.4. Enable body compression
+...
+
+#!KAMAILIO
+
+debug=3
+memdbg=5
+memlog=5
+
+children=2
+
+log_stderror=yes
+listen=udp:127.0.0.1:5060
+listen=tcp:127.0.0.1:5060
+
+tcp_accept_no_cl=yes
+http_reply_parse=yes
+
+mpath="modules/"
+
+loadmodule "sl.so"
+loadmodule "pv.so"
+loadmodule "xlog.so"
+loadmodule "corex.so"
+loadmodule "textops.so"
+loadmodule "xhttp.so"
+loadmodule "gzcompress.so"
+
+modparam("gzcompress", "header_value", "deflate")
+
+request_route {
+        xlog("received sip request from $si:$sp\r\n");
+
+        if(src_port==5060) {
+                remove_hf("Content-Encoding");
+                $du = "sip:127.0.0.1:9";
+        } else {
+                append_hf("Content-Encoding: gzip\r\n");
+                $du = "sip:127.0.0.1:5060";
+        }
+        forward();
+        exit;
+}
+
+event_route[xhttp:request] {
+        xlog("received http request from $si:$sp\r\n");
+        append_to_reply("Content-Encoding: deflate\r\n");
+    xhttp_reply("200", "OK", "text/html",
+        "<html><body>OK - [$si:$sp]</body></html>");
+}
+
+...
diff --git a/modules/gzcompress/doc/gzcompress_admin.xml b/modules/gzcompress/doc/gzcompress_admin.xml
index f7a91b0..5917e7b 100644
--- a/modules/gzcompress/doc/gzcompress_admin.xml
+++ b/modules/gzcompress/doc/gzcompress_admin.xml
@@ -18,7 +18,8 @@
 	<para>
 		This module is able to detect compressed body in received SIP message
 		and decompress it as well as compress the body for outgoing SIP
-		message.
+		message. It works also for received HTTP request and replied HTTP
+		response (&kamailio; cannot work in HTTP proxy mode).
 	</para>
 	<para>
 		The decision of whether to do compression or decompression is made
@@ -161,5 +162,70 @@ modparam("gzcompress", "sanity_checks", 1)
 		</para>
 	</section>
 	</section>
+	<section>
+	<title>Config File</title>
+	<para>
+		Next example shows how to enable compression for forwarded requests,
+		as well as replying with compressed body for HTTP requests. For SIP,
+		the request is recevied and forwarded to itself once, just for the
+		sake of showing a simple example.
+	</para>
+		<example>
+		<title>Enable body compression</title>
+		<programlisting format="linespecific">
+...
+<![CDATA[
+#!KAMAILIO
+
+debug=3
+memdbg=5
+memlog=5
+
+children=2
+
+log_stderror=yes
+listen=udp:127.0.0.1:5060
+listen=tcp:127.0.0.1:5060
+
+tcp_accept_no_cl=yes
+http_reply_parse=yes
+
+mpath="modules/"
+
+loadmodule "sl.so"
+loadmodule "pv.so"
+loadmodule "xlog.so"
+loadmodule "corex.so"
+loadmodule "textops.so"
+loadmodule "xhttp.so"
+loadmodule "gzcompress.so"
+
+modparam("gzcompress", "header_value", "deflate")
+
+request_route {
+	xlog("received sip request from $si:$sp\r\n");
+
+	if(src_port==5060) {
+		remove_hf("Content-Encoding");
+		$du = "sip:127.0.0.1:9";
+	} else {
+		append_hf("Content-Encoding: gzip\r\n");
+		$du = "sip:127.0.0.1:5060";
+	}
+	forward();
+	exit;
+}
+
+event_route[xhttp:request] {
+	xlog("received http request from $si:$sp\r\n");
+	append_to_reply("Content-Encoding: deflate\r\n");
+    xhttp_reply("200", "OK", "text/html",
+        "<html><body>OK - [$si:$sp]</body></html>");
+}
+]]>
+...
+</programlisting>
+		</example>
+	</section>
 </chapter>
 




More information about the sr-dev mailing list