Alright, I was more thinking about it from a newcomer perspective. When one is evaluating
Kamailio, it will be difficult to understand what to use. Documentations and tutorials
everywhere will be messy since all of them will use different tools.
Also, from a development perspective, is it not a lot to maintain 3 CLI tools?
If one could replace the other two, from my limited understanding, I think it would be
great to consider deprecating the older ones when/if kamcli has full feature parity with
the others.
Cheers, Samuel
________________________________
From: Daniel-Constantin Mierla <miconda(a)gmail.com>
Sent: Tuesday, October 16, 2018 19:43
To: Samuel F.; Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] kamcli v1.1.0 released
None of them is deprecated at this moment.
Both kamctl and kamcli can execute rpc commands, but over jsonrpc (relying on jsonrpcs
module), not over binrpc (which relies on ctl module) like kamcmd. The features in kamcmd
not existing in the other are tab completion for rpc command names and session like
connection (can keep the history of rpc commands in the same session).
Not sure, not being a Python developer, but for kamcli it might be easy to add tab
completion for rpc command names, they can be retrieved via rpc command
system.listMethods. Even more, kamcli relies on Python's Click framework and I read
that it should be easy to add support for bash/shell completion of its arguments.
For the moment, I would say that kamctl/kamdbctl are enough if you work with a pretty
standard kamailio deployment. Kamcli would be more useful if you need to extend the
control tool with some customized functionality.
Cheers,
Daniel
On 16.10.18 19:17, Samuel F. wrote:
Thank you for the clarifications. It would be great to add that to the wiki.
It would also be nice to have a recommendation to users what tool should be used by
newcomers, ie. what is currently the tool under development / not being deprecated.
________________________________
From: Daniel-Constantin Mierla <miconda@gmail.com><mailto:miconda@gmail.com>
Sent: Tuesday, October 16, 2018 16:10
To: Samuel F.; Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] kamcli v1.1.0 released
Probably we should put this information somewhere in the wiki, for now here is sort of
short presentation for each:
1) kamctl and kamdbctl are related, both being shell scripts (developed over the time from
the old serctl/openserctl), the first is for interacting with a kamailio instances, the
second is only for creating (and managing) the database structure needed by kamailio
2) kamcmd is practically only a binary rpc client that interacts with ctl module from
kamailio -- this was developed by SER project during 2005-2008 (when we were separately)
3) kamcli is written in Python and aims to become a (better) alternative to kamctl (and
kamdbctl), with a plugin like architecture to extend it with new subcommands, more
flexibility (e.g., modules/libs from python that can be used) and better error handling
For example, adding a new subcommand for kamcli means adding a python script inside
commands folder. This comes handy if you have a kamailio installation using a custom
database table that you access via sqlops -- with few lines of python script you can add a
subcommand to manage its records (add/remove/update), doing validation of the values with
python expressions to avoid inserting invalid records...
Another nice feature of kamcli vs kamctl is the ability to choose the format for output --
e.g., jsonrpc response can be presented in a compact form as yaml instead of json.
Overall, kamctl and kamdbctl are part of kamailio source tree and packaged inside kamailio
debs/rpms, likely to stay so, no plans to replace/remove them, at least in the near
future.
kamcli is a separate repository
(
https://github.com/kamailio/kamcli<https://nam02.safelinks.protection.ou…)
and it is going to have its own deb/rpm file (actually Victor already built the deb
package, available via
deb.kamailio.org repositories).
Cheers,
Daniel
On 16.10.18 15:41, Samuel F. wrote:
Great and thank you!
Is there a writeup on how these tools differ and what one should use?
kamcmd
kamcli
kamctl
kamdbctl
________________________________
From: sr-users
<sr-users-bounces@lists.kamailio.org><mailto:sr-users-bounces@lists.kamailio.org>
on behalf of Daniel-Constantin Mierla
<miconda@gmail.com><mailto:miconda@gmail.com>
Sent: Tuesday, October 16, 2018 10:03
To: Kamailio (SER) - Devel Mailing List; Kamailio (SER) - Users Mailing List;
business@lists.kamailio.org<mailto:business@lists.kamailio.org>
Subject: [SR-Users] kamcli v1.1.0 released
Hello,
kamcli tool just got its first official release, a step forward in the
process of packaging it.
It is a command line tool that aims to be a modern alternative to the
venerable kamctl, being written in Python and having already a large set
of implemented sub-commands, such as:
* subscriber – manage SIP subscribers
* ul – manage user location records
* address – manage permissions address records
* aliasdb – manage database aliases
* db – manage kamailio database content
* dialog – manage active calls (dialog)
* dialplan – manage dialplan records
* dispatcher – manage load balancer (dispatcher)
* group – manage group membership records (acl)
* moni – continuous refresh of the values for a list of statistics
* mtree – manage memory trees (mtree)
* ps – print the details for kamailio running processes
* rpc – interact with kamailio via jsonrpc control commands (alias of
jsonrpc)
* rpcmethods – return the list of available RPC methods (commands)
* speeddial – manage speed dial records
* srv – server management commands (sockets, aliases, …)
* stats – get kamailio internal statistics
* tls – management commands for TLS profiles and connections
* uptime – print the uptime for kamailio instance
The news article for this release is available at:
*
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.kamai…
The corresponding tag in the github repository being:
*
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.co…
How to install kamcli and examples of usage can be found at:
*
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.co…
Cheers,
Daniel
--
Daniel-Constantin Mierla --
https://eur04.safelinks.protection.outlook.com/?url=www.asipto.com&…
https://eur04.safelinks.protection.outlook.com/?url=www.twitter.com%2Fmicon…
--
https://eur04.safelinks.protection.outlook.com/?url=www.linkedin.com%2Fin%2…
Kamailio World Conference --
https://eur04.safelinks.protection.outlook.com/?url=www.kamailioworld.com&a…
Kamailio Advanced Training, Nov 12-14, 2018, in Berlin --
https://eur04.safelinks.protection.outlook.com/?url=www.asipto.com&…
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kam…
--
Daniel-Constantin Mierla --
www.asipto.com<https://nam02.safelinks.protection.outlook.com/?url=http%…
www.twitter.com/miconda<https://nam02.safelinks.protection.outlook.com/?…
--
www.linkedin.com/in/miconda<https://nam02.safelinks.protection.outlook.c…
Kamailio World Conference --
www.kamailioworld.com<https://nam02.safelinks.protection.outlook.com/?ur…
Kamailio Advanced Training, Nov 12-14, 2018, in Berlin --
www.asipto.com<https://nam02.safelinks.protection.outlook.com/?url=http%…
--
Daniel-Constantin Mierla --
www.asipto.com<https://nam02.safelinks.protection.outlook.com/?url=http%…
www.twitter.com/miconda<https://nam02.safelinks.protection.outlook.com/?…
--
www.linkedin.com/in/miconda<https://nam02.safelinks.protection.outlook.c…
Kamailio World Conference --
www.kamailioworld.com<https://nam02.safelinks.protection.outlook.com/?ur…
Kamailio Advanced Training, Nov 12-14, 2018, in Berlin --
www.asipto.com<https://nam02.safelinks.protection.outlook.com/?url=http%…