Enviado por admin el
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
Comentarios recientes