Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Tutorial Asterisk: CLI (Command Line Interface)

Diego Castillo Barnés
  • Escrito por Diego Castillo Barnés el 23 de Abril de 2015
  • 2 min de lectura | Linux
Tutorial Asterisk: CLI (Command Line Interface)

Ver Indice Tutorial

Una de las tareas más importantes de un administrador de Asterisk es la supervisión y corrección de fallos que pueden surgir en el sistema, tanto a nivel de servicio como a nivel de entender por qué se ha producido un fallo en una llamada o si un cliente se está registrando en el servicio o no. Para facilitar esta gestión contamos con el CLI (Asterisk Command Line Interface), o traducido al español como " Interfaz por Línea de Comandos de Asterisk ". Gracias a esta interfaz podemos realizar una amplia variedad de acciones de administración en el servicio de Asterisk entre las que podemos destacar:

  • La obtención de datos del estado del sistema y de sus componentes.
  • Aplicar cambios en la configuración del sistema.
  • Visualización del log en tiempo real (errores, warnings, etc.).
  • Generar llamadas de prueba.
  • Ver información sobre APIs, aplicaciones y funciones y módulos.

Para conectar con el CLI, tan sólo tendremos que ejecutar desde nuestra terminal el comando "asterisk" seguido de las opciones con las que queramos abrir la consola:

  • Opción -c : ( Console ) - Nos permite abrir la consola. La particularidad de este comando es que si el servicio de Asterisk no se estaba ejecutando, intentará lanzarlo.
  • Opción -d : ( Debug ) - Permite indicar el nivel de debug que queremos para los mensajes que nos aporta el CLI. Si queremos un alto nivel de debug tendremos que pasarle al comando asterisk tantas veces "d" como nivel queramos. Por ejemplo: "dddddd".
  • Opción -h : ( Help ) - Muestra todas las opciones posibles.
  • Opción -r : ( Running ) - Conectamos con un servicio de Asterisk que se está ejecutando en segundo plano.
  • Opción -T : ( Time ) - Para que se muestren marcas de tiempo en cada mensaje de la consola.
  • Opción -v : ( Verbose ) - Permite indicar el nivel de verbose que queremos para los mensajes que nos aporta el CLI. Si queremos un alto nivel de verbose, tendremos que pasarle al comando asterisk tantas veces "v" como nivel queramos. Por ejemplo: "vvvvvv".
  • Opción -V : ( Version ) - Para ver la versión de Asterisk.
  • Opción -x : ( Execute ) - Para ejecutar un comando en concreto. Se utiliza para no tener que entrar en la interfaz, ejecutar el comando y salir. Directamente pasamos inline el comando que queremos que se ejecute. Por ejemplo: asterisk -rx "core restart when convenient".


Un ejemplo que haga llamar al CLI de Asterisk que se está ejecutando en segundo plano con un nivel de verbosidad de 3 tiene la siguiente forma:

$ asterisk -rvvv

Si queremos hacer una llamada remota al sistema que haga que éste se reinicie cuando no esté procesando ninguna llamada, ejecutamos lo siguiente:

$ asterisk -rx "core restart when convenient"

Para ver la lista completa de opciones, ejecutamos el siguiente comando:

$ asterisk -h

-V Display version number and exit
-C <configfile> Use an alternate configuration file
-G <group> Run as a group other than the caller
-U <user> Run as a user other than the caller
-c Provide console CLI
-d Enable extra debugging
-f Do not fork
-F Always fork
-g Dump core in case of a crash
-h This help screen
-i Initialize crypto keys at startup
-I Enable internal timing if DAHDI timer is available
-L <load> Limit the maximum load average before rejecting new calls
-M <value> Limit the maximum number of calls to the specified value
-m Mute debugging and console output on the console
-n Disable console colorization
-p Run as pseudo-realtime thread
-q Quiet mode (suppress output)
-r Connect to Asterisk on this machine
-R Same as -r, except attempt to reconnect if disconnected
-s <socket> Connect to Asterisk via socket (only valid with -r)
-t Record soundfiles in /var/tmp and move them where they
belong after they are done
-T Display the time in [Mmm dd hh:mm:ss] format for each line
of output to the CLI
-v Increase verbosity (multiple v's = more verbose)
-x <cmd> Execute command (implies -r)
-X Execute includes by default (allows #exec in asterisk.conf)
-W Adjust terminal colors to compensate for a light background

Volvamos al punto en el que abrimos una nueva consola, lo primero que observamos es que nos aparece un nuevo prompt indicándonos que estamos dentro del CLI:

hostname*CLI>

Si queremos salir de la consola, tan sólo tendremos que escribir y ejecutar los comandos "quit" o "exit".

hostname*CLI> exit

Dentro de la consola existen muchos comandos que podemos ejecutar, tan sólo tendremos que ejecutar "help" para obtener la lista completa:

hostname*CLI> help

Algunos de los comandos que más se utilizan:

  • console dial - Nos permite hacer una llamada desde consola a una extensión que se encuentra en un contexto determinado. Muy útil en tareas de depuración de fallos y control del plan de marcado.
  • core restart now - Reinicia el servicio de Asterisk.
  • core show channels - Nos permite ver información sobre los canales que están abiertos en el momento en el que ejecutamos el comando.
  • dialplan reload - Nos permite hacer una recarga de configuración del fichero dialplan.conf, indispensable cuando realizamos algún cambio sobre dicho fichero y queremos que el cambio se haga efectivo sin reiniciar el servicio completo.
  • module load - Nos permite cargar un módulo en Asterisk sin necesidad de reiniciar el servicio.
  • sip reload - Nos permite hacer una recarga de configuración del fichero sip.conf. Cuando perdemos la comunicación con un troncal al que estamos registrados, obliga a lanzar un nuevo registro contra dicho troncal.
  • sip show peers - Nos permite ver la lista de clientes registrados así como información adicional como puede ser el ping que tenemos con esos clientes o la IP desde la cual nos conectamos a ellos.

¿Todavía tienes alguna excusa para no tener tu servicio de Asterisk bajo control?

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars