Wednesday, January 4, 2017

Kamailio - MI Code Removed

No active MI (aka management interface) related code should be in Kamailio master branch starting with today, Jan 4, 2017. The internal library kmi, the modules mi_datagram, mi_fifo, mi_xmlrpc, mi_rpc and pua_mi were removed.
The MI was a custom mechanism introduced in the early days of the project (like 2001-2002) to interact with Kamailio at runtime, using a line-based text protocol through FIFO file, with alternative transport via datagram sockets or xmlrpc. It was declared deprecated several years ago in favour of using the RPC interface. The RPC interface offers a better structured interaction protocol, with transports for XMLRPC, BINRPC and JSONRPC over HTTP(S), TCP, UDP, UNIXSOCKET or FIFO files.
Couple of modules still have some mi code disabled with ifdefs, they are pending the port to RPC commands. These are: carrierroute, ims_dialog, mohqueue, p_usrloc, userblacklist, utils. They should be updated in the next few days.
With MI code removed, the code base got slimmer, the future development and maintenance effort is reduced.
From now on, the RPC interface has to be used for interacting with kamailio at runtime.
The CLI tools were updated as well:
Helping with testing the RPC commands is very appreciated — open an issue on bug tracker whenever you discover a problem.
Thanks for flying Kamailio!

No comments:

Post a Comment