name mode size
..
doc 040000
Makefile 100644 226B
README 100644 3.94kB
xhttp_rpc.c 100644 20.33kB
xhttp_rpc.h 100644 2.94kB
xhttp_rpc_fnc.c 100644 19.94kB
xhttp_rpc_fnc.h 100644 1.2kB
README
xHTTP_RPC Module Ovidiu Sas <osas@voipembedded.com> Edited by Ovidiu Sas <osas@voipembedded.com> Edited by Alex Balashov <abalashov@evaristesys.com> Copyright � 2011 VoIPEmbedded Inc. __________________________________________________________________ Table of Contents 1. Admin Guide 1. Overview 1.1. Limitations 2. Dependencies 2.1. Kamailio Modules 2.2. External Libraries or Applications 3. Parameters 3.1. xhttp_rpc_root (str) 3.2. xhttp_rpc_buf_size (str) 4. Functions 4.1. dispatch_xhttp_rpc() List of Examples 1.1. Set xhttp_rpc_root parameter 1.2. Set xhttp_rpc_buf_size parameter 1.3. dispatch_xhttp_rpc usage Chapter 1. Admin Guide Table of Contents 1. Overview 1.1. Limitations 2. Dependencies 2.1. Kamailio Modules 2.2. External Libraries or Applications 3. Parameters 3.1. xhttp_rpc_root (str) 3.2. xhttp_rpc_buf_size (str) 4. Functions 4.1. dispatch_xhttp_rpc() 1. Overview 1.1. Limitations This module provides an HTTP transport layer implementation for the RPC management interface in a human-readable format. The xHTTP_RPC module uses the xHTTP module to handle HTTP requests. Read the documentation of the xHTTP module for more details. 1.1. Limitations * This module does not implement asynchronous RPC commands. It is unlikely that asynchronous RPC commands will be executed from an RPC web interface. * This module does not accept parameters embedded in a structure (see RPC documentation for more info about how parameters can be passed to RPC). * At startup, all RPC commands are sorted and grouped based on their format. The expected format is [group].[subcommand]. The initial xhttp_rpc webpage displays all the retrieved groups. All RPC commands are available as sub-menus of each [group]. If an RPC command is not in the expected format, it will be dropped from the initial xhttp_rpc home page menu. 2. Dependencies 2.1. Kamailio Modules 2.2. External Libraries or Applications 2.1. Kamailio Modules The following modules must be loaded before this module: * xhttp - xHTTP. 2.2. External Libraries or Applications The following libraries or applications must be installed before running Kamailio with this module loaded: * None 3. Parameters 3.1. xhttp_rpc_root (str) 3.2. xhttp_rpc_buf_size (str) 3.1. xhttp_rpc_root (str) Specifies the root path for RPC http requests. The link to the RPC web interface must be constructed using the following pattern: http://[server_IP]:[tcp_port]/[xhttp_rpc_root] Default value is "rpc". Example 1.1. Set xhttp_rpc_root parameter ... modparam("xhttp_rpc", "xhttp_rpc_root", "http_rpc") ... 3.2. xhttp_rpc_buf_size (str) Specifies the maximum length of the buffer (in bytes) used to write the RPC reply information in order to build the HTML response. Default value is 0 (auto set to 1/3 of the size of the configured pkg mem). Example 1.2. Set xhttp_rpc_buf_size parameter ... modparam("xhttp", "xhttp_rpc_buf_size", 1024) ... 4. Functions 4.1. dispatch_xhttp_rpc() 4.1. dispatch_xhttp_rpc() Handle the HTTP request and generate a response. Example 1.3. dispatch_xhttp_rpc usage ... tcp_accept_no_cl=yes ... loadmodule "sl.so" loadmodule "xhttp.so" loadmodule "xhttp_rpc.so" ... modparam("xhttp_rpc", "xhttp_rpc_root", "http_rpc") ... event_route[xhttp:request] { $var(xhttp_rpc_root) = $(hu{s.substr,0,9}); if ($var(xhttp_rpc_root) == "/http_rpc") dispatch_xhttp_rpc(); else xhttp_reply("200", "OK", "text/html", "<html><body>Wrong URL $hu</body></html>"); } ...