Module: sip-router
Branch: master
Commit: 0b5ccf31a6e3e6e1091a97e472539ba314428e04
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0b5ccf3…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Mon Oct 4 16:08:16 2010 +0200
kamailio.cfg: added sample usage of xmlrpc module
- enabled with #!define WITH_XMLRPC
- based on ser.cfg version
---
etc/kamailio.cfg | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/etc/kamailio.cfg b/etc/kamailio.cfg
index 08183ff..9aa3915 100644
--- a/etc/kamailio.cfg
+++ b/etc/kamailio.cfg
@@ -59,6 +59,10 @@
# - adjust CFGDIR/tls.cfg as needed
# - define WITH_TLS
#
+# *** To enable XMLRPC support execute:
+# - define WITH_XMLRPC
+# - adjust route[XMLRPC] for access policy
+#
# *** To enable anti-flood detection execute:
# - adjust pike and htable=>ipban settings as needed (default is
# block if more than 16 requests in 2 seconds and ban for 300 seconds)
@@ -233,6 +237,10 @@ loadmodule "htable.so"
loadmodule "pike.so"
#!endif
+#!ifdef WITH_XMLRPC
+loadmodule "xmlrpc.so"
+#!endif
+
# ----------------- setting module-specific parameters ---------------
@@ -374,6 +382,12 @@ modparam("pike", "remove_latency", 4)
modparam("htable", "htable",
"ipban=>size=8;autoexpire=300;")
#!endif
+#!ifdef WITH_XMLRPC
+# ----- xmlrpc params -----
+modparam("xmlrpc", "route", "XMLRPC");
+modparam("xmlrpc", "url_match", "^/RPC")
+#!endif
+
####### Routing Logic ########
@@ -749,6 +763,26 @@ route[PSTN] {
return;
}
+# XMLRPC routing
+#!ifdef WITH_XMLRPC
+route[XMLRPC]
+{
+ # allow XMLRPC from localhost
+ if ((method=="POST" || method=="GET")
+ && (src_ip==127.0.0.1)) {
+ # close connection only for xmlrpclib user agents (there is a bug in
+ # xmlrpclib: it waits for EOF before interpreting the response).
+ if ($hdr(User-Agent) =~ "xmlrpclib")
+ set_reply_close();
+ set_reply_no_connect();
+ dispatch_rpc();
+ exit;
+ }
+ send_reply("403", "Forbidden");
+ exit;
+}
+#!endif
+
# Sample branch router
branch_route[BRANCH_ONE] {
xdbg("new branch at $ru\n");