Hello,
As kamailio and ser get more and more unified, sharing common modules and core, one of the last remaining points is the intermixed usage of kamctl and sercmd to setup specific parameters. One example is the cfg framework changes (from ser) that Kamailio 3.1.0 will bring, that will require the use of "sercmd" on setting specific module config params. The issue is that the documentation also references the "kamctl" utility to specify reload actions etc.
What I suggest is that we strip kamctl with its fifo capabilities and leave it only with DB, ACL management and such(that sercmd doesn't provide), and use only sercmd on examples in the documentation files. This will require no changes to code (well some features from kamctl will be deprecated), but only documentation changes. This will ensure that documentation is kept well organized and coherent across modules.
These are the modules required to use sercmd (based on functionality), the 4th case being the one that I am mostly interested (offers full access to Kamailio commands)
1. basic (required for every case - basic ser commands) : modules/ctl/ctl.so 2. configuration framework change : modules/cfg_rpc/cfg_rpc.so 3. fifo comands (kamctl fifo) : modules/mi_rpc/mi_rpc.so (does not require modules_k/mi_fifo/mi_fifo.so) In this case no kamailio core commands are available (like kamctl debug, kamctl uptime, kamctl which) Because readline is based on the which command (lists all available commands), no tab completion is available 4. all K commands : along with mi_rpc, module_k/kex/kex.so is required. In this case sercmd has tab completion (because core commands like which are available)
Of course the removal of kamctl fifo commands will mean that module_k/mi_fifo/mi_fifo.so module will not be required anymore(But I strongly suggest that we keep it to allow backwards compatibility)
Suggestions?!
Cheers Marius
If the goal is to merge both 'ser' and 'kamailio' under the 'sip-router' name, then perhaps the common control tool should be 'srctl'.
Regards, Ovidiu Sas
On Thu, Apr 1, 2010 at 1:56 PM, Henning Westerholt henning.westerholt@1und1.de wrote:
On Thursday 01 April 2010, Ovidiu Sas wrote:
Hello Ovidiu,
good point, i just wanted to refer to the existing command here. The name 'srctl' is perfectly fine with me. For e.g. compability reasons one could just use the 'old' name in his own particular build, this should be also easily adaptable in the XML template for the module READMEs.
Cheers,
Henning
On Apr 01, 2010 at 18:56, Henning Westerholt henning.westerholt@1und1.de wrote:
I think it's a good idea, but you probably mean sercmd and not serctl. serctl is the old obsolete fifo based ser administration tool. To further increase confusion ser_ctl is the current ser administration tool :-)
It might be a good idea to have a look at ser_ctl too. It uses XML-RPC to communicate (it duplicates sercmd functionality, but AFAIK without the interactive tab-completion and history mode) and it can handle all the other DB based management stuff (add users, ACLs a.s.o.). It's written in python and it should be easily extensible to handle kamailio DB format (so it has the potential of being the universal SR management tool, switching DB modes based, for example on a conf value). Unfortunately it lived in the same CVS repository as ser, but in a separate directory (which was not imported in sip-router), making it close to invisible.
More information: http://git.sip-router.org/cgi-bin/gitweb.cgi?p=ser;a=blob;f=ser_ctl/README;h... http://lists.iptel.org/pipermail/serusers/2007-January/031869.html Repository: http://cvs.berlios.de/cgi-bin/viewvc.cgi/ser/serctl/ http://git.sip-router.org/cgi-bin/gitweb.cgi?p=ser;a=tree;f=ser_ctl;hb=HEAD
Andrei