Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
125 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
mi_json Module | ||
|
||
StA(c)phane Alnet | ||
|
||
<stephane@shimaore.net> | ||
|
||
Edited by | ||
|
||
StA(c)phane Alnet | ||
|
||
Copyright (c) 2013 shimaore.net | ||
Revision History | ||
Revision $Rev$ $Date$ | ||
__________________________________________________________ | ||
|
||
Table of Contents | ||
|
||
1. Admin Guide | ||
|
||
1.1. Overview | ||
1.2. Dependencies | ||
|
||
1.2.1. External Libraries or Applications | ||
1.2.2. OpenSIPS Modules | ||
|
||
1.3. Exported Parameters | ||
|
||
1.3.1. mi_json_root(string) | ||
|
||
1.4. Exported Functions | ||
1.5. Known issues | ||
1.6. Examples | ||
|
||
List of Examples | ||
|
||
1.1. Set mi_json_root parameter | ||
1.2. JSON request | ||
1.3. JSON request | ||
|
||
Chapter 1. Admin Guide | ||
|
||
1.1. Overview | ||
|
||
This module implements a JSON server that handles GET requests | ||
and generates JSON responses. | ||
|
||
1.2. Dependencies | ||
|
||
1.2.1. External Libraries or Applications | ||
|
||
None | ||
|
||
1.2.2. OpenSIPS Modules | ||
|
||
The following modules must be loaded before this module: | ||
* httpd module. | ||
|
||
1.3. Exported Parameters | ||
|
||
1.3.1. mi_json_root(string) | ||
|
||
Specifies the root path for JSON requests: | ||
http://[opensips_IP]:[opensips_httpd_port]/[mi_json_root] | ||
|
||
The default value is "json". | ||
|
||
Example 1.1. Set mi_json_root parameter | ||
... | ||
modparam("mi_xmlrpc_ng", "mi_json_root", "opensips_mi_json") | ||
... | ||
|
||
1.4. Exported Functions | ||
|
||
No function exported to be used from configuration file. | ||
|
||
1.5. Known issues | ||
|
||
Commands with large responses (like ul_dump) will fail if the | ||
configured size of the httpd buffer is to small (or if there | ||
isn't enough pkg memory configured). | ||
|
||
Future realeases of the httpd and mi_json modules will address | ||
this issue. | ||
|
||
1.6. Examples | ||
|
||
This is an example showing the JSON format for the | ||
"get_statistics net: uri:" MI command. Notice how the | ||
paramaters are comma-separated then URI-encoded. | ||
|
||
Example 1.2. JSON request | ||
|
||
GET /json/get_statistics?params==net%3A%2Curi%3A HTTP/1.1 | ||
Accept: application/json | ||
Host: example.net | ||
|
||
HTTP/1.1 200 OK | ||
Content-Length: 49 | ||
Content-Type: application/json | ||
Date: Fri, 01 Nov 2013 12:00:00 GMT | ||
|
||
["net:waiting_udp = 0", "net:waiting_tcp = 0", "uri:positive checks = 0" | ||
, "uri:negative_checks = 0"] | ||
|
||
|
||
Here is another example showing the JSON format for the "ps" MI | ||
command. | ||
|
||
Example 1.3. JSON request | ||
|
||
GET /json/ps HTTP/1.1 | ||
Accept: application/json | ||
Host: example.net | ||
|
||
HTTP/1.1 200 OK | ||
Content-Length: 428 | ||
Content-Type: application/json | ||
Date: Fri, 01 Nov 2013 12:00:00 GMT | ||
|
||
[{"name":"Process", "value":null, "attributes":{"ID": "0", "PID": "7400" | ||
, "Type": "stand-alone SIP receiver udp:127.0.0.1:5060"}}, {"name":"Proc | ||
ess", "value":null, "attributes":{"ID": "1", "PID": "7402", "Type": "HTT | ||
PD INADDR_ANY:8888"}}, {"name":"Process", "value":null, "attributes":{"I | ||
D": "2", "PID": "7403", "Type": "time_keeper"}}, {"name":"Process", "val | ||
ue":null, "attributes":{"ID": "3", "PID": "7404", "Type": "timer"}}] |