Documentation

Documentation.Interface-MI-1-9 History

Hide minor edits - Show changes to markup

August 05, 2013, at 03:17 PM by 109.99.235.212 -
Changed line 4 from:

Page for other versions: devel 1.9 1.8 old versions: 1.7 1.6 1.5 1.4

to:

(:allVersions Interface-MI 1.9:)

June 13, 2013, at 02:50 PM by 109.99.235.212 -
Changed line 10 from:
to:
May 29, 2013, at 01:20 AM by 92.80.35.155 -
Changed line 10 from:
to:
May 29, 2013, at 01:18 AM by 92.80.35.155 -
Changed lines 1-2 from:
Documentation -> Manuals -> Manual 1.9 -> Interface -> MI
to:
Documentation -> Manuals -> Manual 1.9 -> Management Interface

(:title Management Interface - ver 1.9 :)

Added lines 4-12:

Page for other versions: devel 1.9 1.8 old versions: 1.7 1.6 1.5 1.4


Management Interface v1.9
PrevNext

May 28, 2013, at 05:30 PM by 109.99.235.212 -
Changed line 35 from:

A simple example of interacting with OpenSIPS via MI interfaces is when using the 'opensipsctl utility - it uses FIFO or XMLRPC protocols to push MI commands into OpenSIPS.

to:

A simple example of interacting with OpenSIPS via MI interfaces is when using the opensipsctl utility - it uses FIFO or XMLRPC protocols to push MI commands into OpenSIPS.

May 28, 2013, at 11:37 AM by 109.99.235.212 -
Deleted line 49:
Deleted line 50:
Deleted line 51:
May 28, 2013, at 11:25 AM by 109.99.235.212 -
Changed lines 6-7 from:

Overview

to:

Overview

Changed lines 17-18 from:

Protocols

to:

Protocols

Changed line 33 from:

Example

to:

Examples

May 28, 2013, at 11:21 AM by 109.99.235.212 -
Changed lines 29-56 from:

All protocols do allow multiple applications (clients) to connect in the same time to the MI interface.

to:

All protocols do allow multiple applications (clients) to connect in the same time to the MI interface.


Example

A simple example of interacting with OpenSIPS via MI interfaces is when using the 'opensipsctl utility - it uses FIFO or XMLRPC protocols to push MI commands into OpenSIPS.

The 'opensipsctl utility allows you explicitly run an MI command via the FIFO file:

    opensipsctl fifo _mi_cmd_
    opensipsctl fifo ps
    opensipsctl fifo debug 4

or it internally and transparently uses MI command them when providing different or more complex functionalities.

A simple program in Python to trigger to run a MI command in OpenSIPs via XMLRPC protocol:

#!/usr/bin/python

import xmlrpclib

opensips = xmlrpclib.ServerProxy('http://127.0.0.1:8080/RPC2')

print opensips.ps();
May 28, 2013, at 11:10 AM by 109.99.235.212 -
Changed line 1 from:
Documentation -> Manuals -> Manual 1.9 -> Interface -> MI Functions
to:
Documentation -> Manuals -> Manual 1.9 -> Interface -> MI
May 27, 2013, at 08:01 PM by 109.99.235.212 -
Changed line 29 from:

All protocols do all the connection of multiple applications (clients) to the MI interface.

to:

All protocols do allow multiple applications (clients) to connect in the same time to the MI interface.

May 27, 2013, at 08:01 PM by 109.99.235.212 -
Changed lines 27-29 from:
  • mi_xmlrpc - protocol is XMLRPC (XML over HTTP).
to:
  • mi_xmlrpc - protocol is XMLRPC (XML over HTTP). As TCP is used, there is no limit in regards to the amount of transfered data.

All protocols do all the connection of multiple applications (clients) to the MI interface.

May 27, 2013, at 07:58 PM by 109.99.235.212 -
Changed lines 2-3 from:
to:

Added lines 6-7:

Overview

Added lines 17-18:

Protocols

Changed lines 23-27 from:
  • mi_fifo - protocol is text oriented (see the syntax in the module documentation), communications is done via a FIFO file; OpenSIPS reads from a predefined FIFO file, where the external apps are writing down the MI commands. As the file is actually as stream of data, there is no restrictions here on the amount of data OpenSIPS may return (when fetching data from OpenSIPS)
  • mi_datagram - protocol is text oriented, similar for fifo (see the syntax in the module documentation), communication is done either via UNIX SOCKETS , either via UDP packages ; OpenSIPS listens for MI commands on UDP port(s) or unisock files; The transported data is limited to the size of a Datagram (65K).
  • mi_xmlrpc - protocol is XMLRPC (XML over HTTP).
to:
  • mi_fifo - protocol is text oriented (see the syntax in the module documentation), communications is done via a FIFO file; OpenSIPS reads from a predefined FIFO file, where the external apps are writing down the MI commands. As the file is actually as stream of data, there is no restrictions here on the amount of data OpenSIPS may return (when fetching data from OpenSIPS)
  • mi_datagram - protocol is text oriented, similar for fifo (see the syntax in the module documentation), communication is done either via UNIX SOCKETS , either via UDP packages ; OpenSIPS listens for MI commands on UDP port(s) or unisock files; The transported data is limited to the size of a Datagram (65K).
  • mi_xmlrpc - protocol is XMLRPC (XML over HTTP).
May 27, 2013, at 07:56 PM by 109.99.235.212 -
Changed lines 1-22 from:
Documentation -> Manuals -> Manual 1.9 -> Interface -> MI Functions
to:
Documentation -> Manuals -> Manual 1.9 -> Interface -> MI Functions

The Management Interface (or MI) is an OpenSIPS interface that allows external applications to trigger predefined commands inside OpenSIPS.

Such commands typically allows an external app to :

  1. push data into OpenSIPS (like setting debug level, registering a contact, etc)
  2. fetch data from OpenSIPS (see registered users, see ongoing calls, get statistics, etc)
  3. trigger an internal action in OpenSIPS (reloading data, sending a message, etc)

The MI commands are provided by the OpenSIPS core (see full list) and also by modules (check the commands provided by each module).


Several protocols are available in order to connect (from external apps) to the OpenSIPS MI . While the interface itself is provided by OpenSIPS core, each protocol is provided by a separate OpenSIPS module. You can load multiple MI modules in order to use multiple MI protocols in the same time.

Available protocols are :

  • mi_fifo - protocol is text oriented (see the syntax in the module documentation), communications is done via a FIFO file; OpenSIPS reads from a predefined FIFO file, where the external apps are writing down the MI commands. As the file is actually as stream of data, there is no restrictions here on the amount of data OpenSIPS may return (when fetching data from OpenSIPS)
  • mi_datagram - protocol is text oriented, similar for fifo (see the syntax in the module documentation), communication is done either via UNIX SOCKETS , either via UDP packages ; OpenSIPS listens for MI commands on UDP port(s) or unisock files; The transported data is limited to the size of a Datagram (65K).
  • mi_xmlrpc - protocol is XMLRPC (XML over HTTP).
May 27, 2013, at 07:39 PM by 109.99.235.212 -
Added line 1:
Documentation -> Manuals -> Manual 1.9 -> Interface -> MI Functions

Page last modified on August 05, 2013, at 03:17 PM