Asterisk

Conceptos

DID: número marcado por el que llama

CID (caller id): número desde el cual se está ralizando la llamada

Estructura

/etc/asterisk. Es el directorio de configuración por defecto de Asterisk. Si queremos cambiar la ubicación de asterisk.conf debemos crear/editar el fichero de configuración /etc/default/asterisk para definir la nueva ubicación.

/usr/lib/asterisk/modules. Los módulos de Asterisk (funciones, programas del dialplan, códecs, etc.) compilados en extensión .so

/var/lib/asterisk. Directorio donde se guardan las claves, la base de datos interna, los scripts AGI, la música en espera

/var/lib/asterisk/sound. los sonidos del sistema en una instalación desde las fuentes.

/var/spool/asterisk. Directorio donde se guardan las conferencias salvadas por MeetMe(), los call-files, los textos que son leídos por Dictate() y los mensajes de voz si no utilizamos una BD.

/var/run/asterisk. Donde se encuentra el archivo PID del Asterisk que se está ejecutando.

/var/log/asterisk. Los logs (registros) y notificaciones realizado.

/etc/asterisk/extensions.conf El fichero por defecto del dialplan de Asterisk

/etc/asterisk/sip.conf Definimos los teléfonos

/etc/asterisk/agents.conf Los agentes del call center

/etc/asterisk/queues.conf Las Colas

Todos estos comportamientos se pueden cambiar modificando la configuración en Asterisk ('logger.conf') y en rsyslog.
En estos ficheros se utilizan variables que siempre empiezan por $ y van entre corchetes → ${variable}

Dialplan

Es un fichero en el cual se define cómo se van a comportar las llamadas que entran y salen del asterisk. Está compuesto por: contextos, extensiones, prioridades y aplicaciones.

Reglas

X	Cualquier dígito del 0 y 9
Z	Cualquier dígito del 1 a 9
N	Cualquier dígito de 2 a 9
[12347-9]	Los dígitos entre corchetes. Se puede utilizar también el - para indicar un rango de números
*	El comodín equivale a cualquier número
${variable}	obtenemos el valor de la variable que previamente hemos definido
AGI	Permite lanzar scripts o aplicaciones externas
Answer([delay,[nocdr]])	Responde a una llamada entrante
Background	Reproduce una locución
Busy	Indica que la extensión destino está ocupada
Congestion	congestión
Dial	Lanza una llamada

Comandos Básicos

Entrar en modo cli

Para entrar en el modo Command Line Interface (cli) escribimos en nuestra consola asterisk seguido de una o varias opciones

asterisk -<opción>

Opciones

-c: (Console) → Abrimos la consola de asterisk

-d: (Debug) → Indicamos el nivel de debug que queremos para los mensajes que nos aporta el CLI. Mientras más d pongamos mayor nivel de debug tendremos.

-h: (Help) → Muestra la ayuda.

-r: (Running) → Conectamos en segundo plano con el servicio de Asterisk que se está ejecutando.

-T: (Time) → Muestra las marcas de tiempo en cada mensaje de la consola.

-v: (Verbose) → Indicamos el nivel de descripción que queremos para los mensajes que nos aporta el CLI. Mientras más v pongamos, mayor nivel de verbose tendremos.

-V: (Version) → ver la versión de Asterisk.

-x: (Execute) → 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.

Ejemplos: Conectarnos al asterisk y ver los mensajes del cli

asterisk -vvvvvvvvr

Reiniciar asterisk cuando no tenga llamadas en curso

asterisk -rx "core restart when convenient"

Comandos frecuentes

Una vez en modo cli se utilizan frecuentemente varios comandos:

sip reload → recargamos la configuración del fichero sip.conf.

dialplan reload recargamos la configuración del fichero dialplan.conf

sip show peers para ver las conexiones de los clientes registrados

module load - cargamos un módulo en Asterisk sin necesidad de reiniciar el servicio.

console dial - Permite hacer una llamada desde consola a una extensión. 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.

Reparar base de datos

mysqlcheck -u asterisk -p asteriskdb --auto-repair

Música en espera

http://blog.neocenter.com/?p=169

Seguridad

http://blog.pepelux.org/tag/asterisk/

http://busy-tone.org/web/

Proveedores de Voip

https://www.voxbeam.com/es

Clientes SIP

Jitsi

Zoiper

X-lite

blink

Call Center

http://www.vicidial.org/vicidial.php

http://asteriskmx.org/principales-razones-por-las-cuales-tu-campana-en-vicidial-podria-no-funcionar/

Referencias

Gestión de logs en asterisk http://blog.voz-ip.com/2009/log-en-asterisk/

http://hotfixed.net/2011/01/31/2do-curso-gratuito-de-asterisk-basico/

http://hotfixed.net/tag/voip/

Elastix http://www.elastix.org Es un asterisk con un módulo de call center

http://www.elastixbook.com/libros/cuce/vol1/en/Index.html

Freepbx http://www.freepbx.org/

Trixbox http:///www.trixbox.org

http://www.voztovoice.org/?q=search/node/asterisk

http://www.voipnovatos.es/

http://www.zeroshell.net/listing/instalando-sonidos-espanol-asterisk.pdf

Gestión de logs en asterisk http://blog.voz-ip.com/2009/log-en-asterisk/

http://hotfixed.net/2011/01/31/2do-curso-gratuito-de-asterisk-basico/

http://hotfixed.net/tag/voip/