Table of Contents
List of Tables
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
'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.
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)”.
This is an example of an event raised by the pike module when it decides an ip should be blocked:
Example 1.2. 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>
Table 2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
|Name||DevScore||Commits||Lines ++||Lines --|
|1.||Razvan Crainea (@razvancrainea)||37||23||1239||131|
|2.||Liviu Chircu (@liviuchircu)||9||7||63||31|
|3.||Vlad Patrascu (@rvlad-patrascu)||8||4||199||62|
|4.||Bogdan-Andrei Iancu (@bogdan-iancu)||5||3||8||9|
|5.||Ionut Ionita (@ionutrazvanionita)||3||1||103||28|
|6.||Peter Lemenkov (@lemenkov)||3||1||1||1|
|7.||Ryan Bullock (@rrb3942)||2||1||8||0|
|8.||Maksym Sobolyev (@sobomax)||2||1||1||0|
(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. Regarding imported patches/code, we do our best to count the work on behalf of the proper owner, as per the "fix_authors" and "mod_renames" arrays in opensips/doc/build-contrib.sh. If you identify any patches/commits which do not get properly attributed to you, please submit a pull request which extends "fix_authors" and/or "mod_renames".
(3) ignoring whitespace edits, renamed files and auto-generated files
Table 2.2. Most recently active contributors(1) to this module
|1.||Vlad Patrascu (@rvlad-patrascu)||Jul 2015 - Jul 2020|
|2.||Razvan Crainea (@razvancrainea)||May 2012 - Jan 2020|
|3.||Bogdan-Andrei Iancu (@bogdan-iancu)||Oct 2014 - Apr 2019|
|4.||Liviu Chircu (@liviuchircu)||Oct 2013 - Nov 2018|
|5.||Peter Lemenkov (@lemenkov)||Jun 2018 - Jun 2018|
|6.||Maksym Sobolyev (@sobomax)||Feb 2017 - Feb 2017|
|7.||Ionut Ionita (@ionutrazvanionita)||Jan 2016 - Jan 2016|
|8.||Ryan Bullock (@rrb3942)||Jan 2013 - Jan 2013|
(1) including any documentation-related commits, excluding merge commits
Copyright © 2012 www.opensips-solutions.com