{{tag> asterisk, voip }}
===== Asterisk =====
==== Conceptos ====
  * DID: número marcado por el que llama
  * CID (caller id): número desde el cual se está ralizando la llamada 
==== Instalación ====
https://www.sinologic.net/2018-04/como-instalar-asterisk-13-como-un-profesional.html
==== 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.
==== 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 -
== 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
  * https://www.sinologic.net/2006-11/cambiar-la-musica-en-espera-de-asterisk-musiconhold.html
=== 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 ====
  * http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/index.html
  * 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/
  * http://www.axelko.com/techblog/2013/09/curso-asterisk-iii-extensiones-internas/