mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
15 years ago | |
|---|---|---|
| .. | ||
| doc | 15 years ago | |
| Makefile | 15 years ago | |
| README | 15 years ago | |
| abyss.h | 15 years ago | |
| abyss_conf.c | 15 years ago | |
| abyss_conn.c | 15 years ago | |
| abyss_conn.h | 15 years ago | |
| abyss_data.c | 15 years ago | |
| abyss_data.h | 15 years ago | |
| abyss_date.c | 15 years ago | |
| abyss_date.h | 15 years ago | |
| abyss_file.c | 15 years ago | |
| abyss_file.h | 15 years ago | |
| abyss_http.c | 15 years ago | |
| abyss_http.h | 15 years ago | |
| abyss_info.h | 15 years ago | |
| abyss_mallocvar.h | 15 years ago | |
| abyss_response.c | 15 years ago | |
| abyss_server.c | 15 years ago | |
| abyss_server.h | 15 years ago | |
| abyss_session.c | 15 years ago | |
| abyss_session.h | 15 years ago | |
| abyss_socket.c | 15 years ago | |
| abyss_socket.h | 15 years ago | |
| abyss_socket_unix.c | 15 years ago | |
| abyss_socket_unix.h | 15 years ago | |
| abyss_thread.h | 15 years ago | |
| abyss_thread_fork.c | 15 years ago | |
| abyss_token.c | 15 years ago | |
| abyss_token.h | 15 years ago | |
| abyss_trace.c | 15 years ago | |
| abyss_trace.h | 15 years ago | |
| abyss_xmlrpc_int.h | 15 years ago | |
| abyss_xmlrpc_server.c | 15 years ago | |
| mi_xmlrpc.c | 15 years ago | |
| mi_xmlrpc.h | 15 years ago | |
| xr_parser.c | 15 years ago | |
| xr_parser.h | 15 years ago | |
| xr_parser_lib.h | 15 years ago | |
| xr_server.c | 15 years ago | |
| xr_server.h | 15 years ago | |
| xr_writer.c | 15 years ago | |
| xr_writer.h | 15 years ago | |
README
mi_xmlrpc Module
Lavinia-Andreea Andrei
voice-system.ro
Edited by
Lavinia-Andreea Andrei
Edited by
Juha Heinanen
Copyright © 2006 voice-system.ro
Revision History
Revision $Revision$ $Date: 2008-08-06 12:08:33 +0200
(Mi, 06 Aug 2008) $
__________________________________________________________
Table of Contents
1. Admin Guide
1.1. Overview
1.2. To-do
1.3. Dependencies
1.3.1. Kamailio Modules
1.3.2. External Libraries or Applications
1.4. Exported Parameters
1.4.1. port(integer)
1.4.2. log_file(string)
1.4.3. reply_option (integer)
1.4.4. buffer_size (integer)
1.5. Exported Functions
1.6. Example
List of Examples
1.1. Set port parameter
1.2. Set log_file parameter
1.3. Set reply_option parameter
1.4. Set reply_option parameter
1.5. XMLRPC request
Chapter 1. Admin Guide
1.1. Overview
This module implements a xmlrpc server that handles xmlrpc
requests and generates xmlrpc responses. When a xmlrpc message
is received a default method is executed.
At first, it looks up the MI command. If found it parses the
called procedure's parameters into a MI tree and the command is
executed. A MI reply tree is returned that is formatted back in
xmlrpc. The response is built in two ways - like a string that
contains the MI tree nodes information (name, values and
attributes) or like an array whose elements are consisted of
each MI tree node stored information.
Implementation of mi_xmlrpc module's xmlrpc server is based on
Abyss XML-RPC server. Current version of Abyss server
"normalizes" CRLF sequence in received XML-RPC strings to LF
character, which makes it impossible to pass CRLF sequence from
xmlrpc client application to Kamailio modules, such as mi_fifo
and pua_mi, that accept requests via MI transport. To overcome
this limitation mi_xmlrpc module implements a hack that coverts
each LFLF sequence in received XML-RPC strings to CRLF
sequence.
1.2. To-do
Features to be added in the future:
* possibility to select the listening IP address
* multiple ports per IP address
1.3. Dependencies
1.3.1. Kamailio Modules
The following modules must be loaded before this module:
* No dependencies on other Kamailio modules.
1.3.2. External Libraries or Applications
The following libraries or applications must be installed
before running Kamailio with this module loaded:
* libxml.
* libxmlrpc-c3 version 0.9.10.
* libxmlrpc-c3-dev version 0.9.10.
If libxmlrpc-c3[-dev] package is not available on your system,
you may check if packages for your OS are not available on the
"xmlrpc-c"project ( http://xmlrpc-c.sourceforge.net/).
Otherwise you need to install the library and devel headers
from the sources. In both cases, keep in mind to use the 0.9.10
version!!.
1.4. Exported Parameters
1.4.1. port(integer)
The port number used by the XMLRPX server to listen for
incoming requests.
The default value is 8080. Ports lower than 1024 are not
accepted.
Example 1.1. Set port parameter
...
modparam("mi_xmlrpc", "port", 8000)
...
1.4.2. log_file(string)
A log file to be used by the internal Abyss html server used by
the XMLRPX library.
The default values NONE (no logging).
Example 1.2. Set log_file parameter
...
modparam("mi_xmlrpc", "log_file", "/var/log/abyss.log")
...
1.4.3. reply_option (integer)
Given the xmlrpc response specifications that a methodResponse
can contain a single params section with a single param
section, there is the possibility to choose between a string
built response or an array built one.
For a 0 value, a single string parameter will be replied
(merging the whole response). For non-0 value, each line from
the response will be encoded as an element into an array of
strings.
The default option is a string built response (0).
Example 1.3. Set reply_option parameter
...
modparam("mi_xmlrpc", "reply_option", 0)
...
1.4.4. buffer_size (integer)
It specifies the maximum length of the buffer used to write in
the MI tree node information in order to build the xmlrpc
response.
The default value is 8192.
Example 1.4. Set reply_option parameter
...
modparam("mi_xmlrpc", "buffer_size", 8192)
...
1.5. Exported Functions
No function exported to be used from configuration file.
1.6. Example
This is an example showing the xmlrpc format for the
"get_statistics dialog: tm:" MI commad: response.
Example 1.5. XMLRPC request
POST /RPC2 HTTP/1.0
Host: 127.0.0.1
Connection: close
User-Agent: OpenSIPg XML_RPC Client
Content-Type: text/xml
Content-Length: 1000
<?xml version="1.0" ?>
<methodCall>
<methodName>get_statistics</methodName>
<params>
<param>
<value><string>dialog:</string></value>
</param>
<param>
<value><string>tm:</string></value>
</param>
</params>
</methodCall>