In your Kamailio configuration file you have to load xmlrpc module and configure it. In the default configuration file of Kamailio v4.0.x, xmlrpc module can be enabled easily by adding after the first line:
#!define WITH_XMLRPC
In the case Siremis is running on a different physical server that Kamailio, relax the access restrictions from:
route[XMLRPC] { ... }
The configuration related to XMLRPC for SIREMIS resides in file:
siremis/modules/ser/service/siremisXRCommands.xml
The content can look like:
<?xml version="1.0" standalone="no"?> <PluginService Name="siremisXRCommands" Package="asipto" Class="siremisXRCommands"> <XRConfig name="XRConfig" mode="rich"> <RSocket name="rsocket" path="/RPC2" address="127.0.0.1" port="5060" timeout="3"/> <XRCommands> <cmd name="help" title="List commands" command="system.listMethods"/> <cmd name="uptime" title="Uptime" command="core.uptime"/> <cmd name="psx" title="List Processes" command="core.psx"/> <cmd name="which" title="Get All MI Commands" command="mi which"/> <cmd name="dslist" title="List Dispatcher Records" command="dispatcher.list"/> <cmd name="dsreload" title="Reload Dispatcher Records" command="dispatcher.reload"/> <cmd name="pdtlist" title="List PDT Records" command="mi pdt_list"/> <cmd name="pdtreload" title="Reload PDT Records" command="mi pdt_reload"/> </XRCommands> </XRConfig> </PluginService>
The IP, Port and URL path for Kamailio's XMLRPC socket (default is Kamailio's IP and SIP port) has to be set in RSocket.
In case you want to have a drop-down menu with XMLRPC commands, fill in new ‘cmd’ tags in ‘XRCommands’ node.