[Devel] NEW - Management Interface

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Oct 5 16:26:49 CEST 2006

Hi everybody,

as shown by the roadmap, one of the objectives is the creation of a 
unique interface (management interface or MI) to replace the current 
FIFO and UNIXSOCK interfaces.

The current design does not scale, neither from core point of view, nor 
from modules point of view. The transport layers are currently 
implemented in core, so each new type of layer implies changes of the 
core. But the worst part is on the module side - as the implementations 
are transport specific, for each exported function, the module needs to 
implement a version for each available transport layer.
So, adding a new transport layer will imply: (1) changes in core (2) 
reimplementation of all existent functions in modules for the new 
transport layer.

What brings the new MI?
MI will define in core an abstract layer for both functions and data 
types to be used between the external function implementations (from 
modules) and the transport layers (which now will be implemented as 
When a module wants to export a function for external usage, it will 
just register it to the MI and it will use for implementation the data 
types defined by MI. So, the exported function will be automatically 
visible via all transport layer (existent or future).
Also adding a new transport layer will imply only writing a new module 
which implements MI - no impact on the core or the module exporting 

First version of the MI (Management interface) was uploaded on the 
public CVS couple of days ago. Also there is available the first module 
implementing it - the mi_fifo module implementing the FIFO interface. 
Sooner will follow a module for unixsockets and later NET UDP and TCP, 
HTTP, RPC, XML-RPC and so on....

Also we are in process of re-implementing the external function based on 
the MI specs. So far all core functions are done and cpl-c and dialog 
modules. The rest of the modules will be finished in the next week.

Any comments, opinions on the topic are welcomed.


More information about the Devel mailing list