mi_json Module


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
2. Contributors
2.1. By Commit Statistics
2.2. By Commit Activity
3. Documentation
3.1. Contributors

List of Tables

2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
2.2. Most recently active contributors(1) to this module

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_json", "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":"Process", "value":null, "attributes":{"ID": "1", "PID": "7402", "Type": "HTTPD INADDR_ANY:8888"}}, {"name":"Process", "value":null, "attributes":{"ID": "2", "PID": "7403", "Type": "time_keeper"}}, {"name":"Process", "value":null, "attributes":{"ID": "3", "PID": "7404", "Type": "timer"}}]


Chapter 2. Contributors

2.1. By Commit Statistics

Table 2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)

 NameDevScoreCommitsLines ++Lines --
1. Stephane Alnet2051265233
2. Bogdan-Andrei Iancu (@bogdan-iancu)10714138
3. Razvan Crainea (@razvancrainea)9616628
4. Ionut Ionita (@ionutrazvanionita)645130
5. Liviu Chircu (@liviuchircu)642127
6. Vlad Paiu (@vladpaiu)5383

(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

2.2. By Commit Activity

Table 2.2. Most recently active contributors(1) to this module

 NameCommit Activity
1. Bogdan-Andrei Iancu (@bogdan-iancu)Jul 2014 - Apr 2019
2. Liviu Chircu (@liviuchircu)Jul 2014 - Jun 2018
3. Ionut Ionita (@ionutrazvanionita)May 2016 - May 2016
4. Vlad Paiu (@vladpaiu)Nov 2013 - Jan 2016
5. Razvan Crainea (@razvancrainea)Dec 2013 - Aug 2015
6. Stephane AlnetOct 2013 - Nov 2013

(1) including any documentation-related commits, excluding merge commits

Chapter 3. Documentation

3.1. Contributors

Last edited by: Bogdan-Andrei Iancu (@bogdan-iancu), Liviu Chircu (@liviuchircu), Stephane Alnet.

doc copyrights:

Copyright © 2013 shimaore.net