Skip to content

EVENT_XMLRPC module

This module is an implementation of an XMLRPC client used to notify XMLRPC servers whenever certain notifications are raised by OpenSIPS. It acts as a transport layer for the Event Notification Interface.

Basicly, the module executes a remote procedure call when an event is raised from OpenSIPS’s script, core or modules using the Event Interface.

In order to be notified, an XMLRPC server has to subscribe for a certain event provided by OpenSIPS. This can be done using the generic MI Interface (event_subscribe function) or from OpenSIPS script (subscribe_event core function).

‘xmlrpc:’ host ’:’ port ’:’ method

Meanings:

  • ‘xmlrpc:’ - informs the Event Interface that the events sent to this subscriber should be handled by the event_xmlrpc module.
  • host - host name of the XMLRPC server.
  • port - port of the XMLRPC server.
  • method - method called remotely by the XMLRPC client. NOTE: the client does not wait for a response from the XMLRPC server.

The following modules must be loaded before this module:

  • none.

The following libraries or applications must be installed before running OpenSIPS with this module loaded:

  • none

When raising an event, pack the name and value of the parameters in a XMLRPC structure. This provides an easier way for some XMLRPC server implementations to interpret the parameters. Set it to zero to disable or to non-zero to enable it.

Default value is “0 (disabled)”.

Set use_struct_param parameter
...
modparam("event_xmlrpc", "use_struct_param", 1)
...

No function exported to be used from configuration file.

This is an example of an event raised by the pike module when it decides an ip should be blocked:

E_PIKE_BLOCKED event
POST /RPC2 HTTP/1.1.
Host: 127.0.0.1:8081.
Connection: close.
User-Agent: OpenSIPS XMLRPC Notifier.
Content-type: text/xml.
Content-length: 240.
.
<?xml version="1.0"?>
<methodCall>
<methodName>e_dummy_h</methodName>
<params>
<param>
<value><string>E_MY_EVENT</string></value>
</param>
<param>
<name>ip</name>
<value><string>192.168.2.11</string></value>
</param>
</params>
</methodCall>
XMLRPC socket
# calls the 'block_ip' function
xmlrpc:127.0.0.1:8080:block_ip

Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)

#NameDevScoreCommitsLines++Lines—
1.Razvan Crainea (@razvancrainea)2412122429
2.Stefan Darius (@dariusstefan)7416022
3.Liviu Chircu (@liviuchircu)53587
4.Ryan Bullock (@rrb3942)2180
5.Bogdan-Andrei Iancu (@bogdan-iancu)2110

(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)

(2) including any documentation-related commits, excluding merge commits

(3) ignoring whitespace edits, renamed files and auto-generated files

#NameCommit Activity
1.Stefan Darius (@dariusstefan)Jun 2026 - Jul 2026
2.Razvan Crainea (@razvancrainea)May 2012 - Jun 2026
3.Bogdan-Andrei Iancu (@bogdan-iancu)Oct 2014 - Oct 2014
4.Liviu Chircu (@liviuchircu)Oct 2013 - Jul 2014
5.Ryan Bullock (@rrb3942)Jan 2013 - Jan 2013

(1) including any documentation-related commits, excluding merge commits

Last edited by: Razvan Crainea (@razvancrainea).

All documentation files (i.e. .md extension) are licensed under the Creative Common License 4.0