Hello Chad,
My suggestion would be to use the 'jsonrpc-s' module:
http://kamailio.org/docs/modules/4.4.x/modules/jsonrpc-s.html
This runs over the 'xhttp' module, and requires enabling the TCP
transport. However, the end result is that with very little config
script, it will allow you to run next-generation RPC commands, including
the equivalent of 'ds_reload', 'dispatcher.reload':
http://kamailio.org/docs/modules/4.4.x/modules/dispatcher.html#dispatcher.f…
You would run it using something like this:
$ curl -v -H 'Content-Type: application/json' \
-H 'Call-ID: abc12' \
-d '{"jsonrpc": "2.0", "method":
"dispatcher.reload", "id": "0deadb33f"}' \
http://your.kamailio.server:5060/rpc_path/
The basic boilerplate is as simple as:
----
listen=tcp:0.0.0.0:5060
loadmodule "xhttp"
loadmodule "jsonrpc-s"
modparam("xhttp", "url_match", "^/rpc_path/")
modparam("jsonrpc-s", "pretty_format", 1)
event_route[xhttp:request] {
if($hu =~ "^/rpc_path")
jsonrpc_dispatch();
else
xhttp_reply("404", "Not Found", "text/html",
"");
}
----
Of course, in the real world, you'll want to consider authentication, IP
ACLs, and other things that go into some sort of security thought
process. But that's the basic idea.
-- Alex
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 (direct) / +1-800-250-5920 (toll-free)
Web:
http://www.evaristesys.com/,
http://www.csrpswitch.com/