Name: ejabberd_xmlrpc Purpose: XML-RPC server to execute ejabberd commands Author: Badlop Type: Module Requirements: ejabberd 2.0.3 or newer, and XML-RPC-Erlang 1.13 with IP, Ruby and Xmerl 1.x patches, available as: Download: ejabberd-modules
ejabberd_xmlrpc is an ejabberd listener that starts a XML-RPC server and waits for external calls.
ejabberd_xmlrpc implements some example calls that can be used to test during the development of a new XML-RPC client. But most imporntantly, ejabberd_xmlrpc is also a frontend to execute ejabberd commands. This way a XML-RPC client can execute any ejabberd command.
This allows external programs written in any language like websites or administrative tools to communicate with ejabberd to get information or to make changes without the need to know ejabberd internals. One example usage is a corporate site in PHP that creates a Jabber user every time a new user is created on the website.
Some benefits of interfacing with the Jabber server by XML-RPC instead of modifying directly the database are:
- external programs are more simple and easy to develop and debug
- can communicate with a server in a different machine, and even on Internet
This module was initially based in mod_xmlrpc. If you use ejabberd 2.0.x, you can't use ejabberd_xmlrpc, but you can use mod_xmlrpc.