KamCLI – la consola Linux de Kamailio

Kamcli es un proyecto cuyo objetivo es brindar una consola linux para Kamailio mas amigable y más fácil de utilizar de Kamcmd. En este articulo veremos como realizar la instalación en Rocky Linux 9 y como utilizar los comandos disponibles; como los comandos se basan en archivos en Python (el lenguaje de programación utilizado para la creación de kamcli) se pueden ampliar, añadir y/o modificar. Empezamos con la configuración del lado Kamailio donde lo único que tenemos que hacer es cargar el modulo jsonrpcs con dos parámetros:

nano /etc/kamailio/kamailio.cfg

en el bloque dedicado a los módulos se copian las lineas que siguen:

loadmodule "jsonrpcs.so"

# ----- jsonrpcs params -----

modparam("jsonrpcs", "transport", 6)

modparam("jsonrpcs", "pretty_format", 1)

Se guardan los cambios y se reinicia Kamailio:

systemctl restart kamailio

Ya se puede pasar a la compilación e instalación de KamCLI:

cd /usr/src/

se descargan las fuentes:

git clone https://github.com/kamailio/kamcli.git

se entra en la nueva carpeta:

cd kamcli

se instalan las dependencias:

pip3 install -r requirements/requirements.txt

para que la consola pueda interactuar con la base de datos de kamailio (normalmente creata con MySQL/MariaDB):

pip3 install mysqlclient

para terminar se instala la consola con el comando:

pip3 install .

El paso a seguir, aunque no indispensable, es crear el archivo de configuración de la consola de forma que cada vez que se ejecutará, el programa sepa donde buscar su configuración:

kamcli config install

directory /etc/kamcli created

config file installed to /etc/kamcli/kamcli.ini

Si al momento de crear la base de datos de Kamailio se ha utilizado la configuración estándar, no hace falta realizar cambios en el archivo kamcli.ini, en caso contrario:

nano /etc/kamcli/kamcli.ini

se modifican los datos de conexión a la base de datos que se encuentran después de esta etiqueta:

[db]

Realizados los cambios se guardan y ya se puede utilizar la consola:

kamcli

veremos todos los grupos de comandos disponibles.

kamcli acc --help

Commands:

acc-struct-update Run SQL statements to update acc table structure

cdrs-generate Run SQL stored procedure to generate CDRS

cdrs-list List call data records

cdrs-proc-create Run SQL statements to create the stored procedure

to...

cdrs-table-create Run SQL statements to create cdrs table structure

list List accounting records

mc-struct-update Run SQL statements to update missed_calls table...

rates-add Add a new rating record to database

rates-generate Run SQL stored procedure to rate the CDRS and...

rates-proc-create Run SQL statements to create the stored procedure

to...

rates-rm Remove a rating record from database

rates-table-create Run SQL statements to create billing_rates table...

tables-struct-update Run SQL statements to update acc and missed_calls...

veremos la ayuda para todos los comandos disponibles para el grupo acc. Otra opción interesante es la posibilidad de entrar directamente en la consola:

kamcli shell

(info) connected to: kamailio 5.7.2 (x86_64/linux) bfbabc

(info) sip server uptime: 0h 47m 52s

Quick help:

? - kamcli commands help

:h - internal commands help

:q - quit interactive shell

--

y utilizar la ayuda en tiempo real para la búsqueda del comando que necesitamos, ejemplo:

con solo escribir la letra a veremos todas las posibilidades disponibles; otro ejemplo:

veremos todos los comandos disponibles para el grupo acc y así a seguir. Para salir de la consola:

kamcli > :q

Un ultimo tip bastante interesante es que se pueden crear alias de comando que luego se pueden utilizar desde la consola. Estos alias se crean en el archivo de configuración kamcli.ini, después de la etiqueta:

[shell.cmdremap]

dv=db show "version"

u=uptime

donde ya se encuentran esos dos ejemplos. Para utilizarlos:

kamcli shell

kamcli > u

id: 8082

jsonrpc: '2.0'

result:

now: Sat Nov 4 10:52:30 2023

up_since: Sat Nov 4 09:49:43 2023

uptime: 3767

kamcli > :q

Por ahora es todo. Me comentan

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo
Suscribirse a Comentarios de "KamCLI – la consola Linux de Kamailio" Suscribirse a VozToVoice - Todos los comentarios