Module: kamailio
Branch: master
Commit: d74d67976905c9d0c49f00485046117bc2581e65
URL:
https://github.com/kamailio/kamailio/commit/d74d67976905c9d0c49f00485046117…
Author: Surendra Tiwari <surendratiwari3(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2018-11-27T12:47:40+01:00
xmlrpc: docs for event_callback parameter
- GH #1736
---
Modified: src/modules/xmlrpc/doc/xmlrpc_admin.xml
---
Diff:
https://github.com/kamailio/kamailio/commit/d74d67976905c9d0c49f00485046117…
Patch:
https://github.com/kamailio/kamailio/commit/d74d67976905c9d0c49f00485046117…
---
diff --git a/src/modules/xmlrpc/doc/xmlrpc_admin.xml
b/src/modules/xmlrpc/doc/xmlrpc_admin.xml
index 381a1feff7..a61d63e6db 100644
--- a/src/modules/xmlrpc/doc/xmlrpc_admin.xml
+++ b/src/modules/xmlrpc/doc/xmlrpc_admin.xml
@@ -60,7 +60,7 @@ modparam("xmlrpc", "route",
"route_for_xmlrpcs")
<section id="autoconversion">
<title><varname>autoconversion</varname> (string)</title>
<para>
- Enable or disable automatic parameter type conversion globally,
+ Enable or disable automatic parameter type conversion globally,
for all the methods parameters.
If on, a type mismatch in a method parameter
will not cause a fault if it is possible to automatically
@@ -192,6 +192,45 @@ modparam("xmlrpc", "url_match",
"^/RPC2")
</programlisting>
</example>
</section>
+ <section id="event_callback">
+ <title><varname>event_callback</varname> (string)</title>
+ <para>
+ The name of the function in the kemi configuration file (embedded
+ scripting language such as Lua, Python, ...) to be executed instead
+ of route blocks defined by route parameter for xmlrpc request.
+ </para>
+ <para>
+ This route will be called only for HTTP messages whose method is
+ either GET or POST. The message visible inside the route
+ will be a HTTP request converted to SIP (the uri will be fixed and
+ a fake via will be added).
+ </para>
+ <para>
+ The route should perform additional security checks to
+ ensure the client is authorized to execute management/RPC functions
+ and then it should call the <function>dispatch_rpc()</function>.
+ </para>
+ <example>
+ <title>Set <varname>event_callback</varname>
parameter</title>
+ <programlisting format="linespecific">
+...
+modparam("xmlrpc", "event_callback", "ksr_xmlrpc_event")
+...
+-- event callback function implemented in Lua
+function ksr_xmlrpc_event(evname)
+ KSR.info("===== xmlrpc triggered event: " .. evname .. "\n");
+ local rpc_method = KSR.pv.get("$rm") or ""
+ if ((rpc_method == "POST" or rpc_method == "GET")) then
+ if (KSR.xmlrpc.dispatch_rpc() < 0) then
+ KSR.err("error while executing xmlrpc event")
+ end
+ end
+ return 1;
+end
+...
+</programlisting>
+ </example>
+ </section>
</section>
<section>