Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Asterisk CLI
Ejecute el comando: asterisk !! Conectese a la CLI de Asterisk:
asterisk r
Cisco Public
Es una conexin que conduce una llamada entrante o saliente en el sistema Asterisk. La conexin puede venir de o salir hacia telefona tradicional analgica, digital o VoIP.
Por defecto, Asterisk soporta una serie de canales, los ms importantes son:
H.323, IAX2, SIP, MGCP: Protocolos VoIP. Console: GNU Linux OSS/ALSA sound system. Zap/Dahdi: lneas analgicas y digitales.
Cisco Public
Dialplan
El plan del marcado es el corazon de una central telefonica y la parte principal de asterisk. Indica como la PBX responde a llamadas entrantes y salientes. En Asterisk el plan del marcado es totalmente configurable, a diferencia de las centrales privativas. Dentro del plan de marcado de Asterisk encontramos principalmente:
Extensiones Aplicaciones Contextos
Cisco Public
Extension
Extension o exten encierra un concepto diferente a lo que normalmente pensamos. Que tienen en mente por una extensin? Cada extensin se compone de:
Nombre, prioridad y aplicacin.
Cisco Public
Aplicacin
Asterisk ejecuta secuencialmente los comandos asociados a cada extensin. Esos comandos son realmente aplicaciones que controlan el comportamiento de la llamada y del sistema en s. Algunos ejemplos:
Hangup: colgar la llamada. Monitor: comenzar la grabacin a disco de la llamada. Dial: realizar una llamada saliente. Goto: saltar a otra extensin o contexto. PlayBack: reproducir un fichero de sonido.
Cisco Public
Contexto
El dialplan de Asterisk se divide en uno o varios contextos. Un contexto es una coleccin de extensiones. Permite la interaccin entre las diferentes partes del dialplan.
Los contextos existen para poder diferenciar el lugar en donde se encuentra una llamada, para:
Aplicar polticas de seguridad: por ej, al entrar una llamada, con 0 va a la operadora, mientras que cuando un usuario local marca 0 y un nmero hace una llamada saliente (fuera de la PBX).
Cisco Public
Dialplan: Arquitectura
Cisco Public
Cisco Public
Cisco Public
10
Cisco Public
11
Carga de Configuraciones
La configuracin se carga al iniciar Asterisk, por lo que para aplicar cualquier cambio ser necesario recargarla. Para ello basta con ejecutar el comando reload en el CLI: CLI> reload
Dialplan:
extensions.conf: el propio Dialplan. features.conf: dialplan para mtodos. complementarios (transferencias, call parking, grabacin de llamadas bajo demanda, etc.).
Cisco Public
12
SIP.conf
En primer lugar existe la seccin [general], donde se definen variables globales y aspectos por defecto para todos los canales SIP.
La sintaxis es la siguiente: [general] variable1=valor1 variable2=valor2 .... register => usuario : password @ servidorregistrar register => ....
Cisco Public
13
SIP.conf Registrar
Register permite a Asterisk registrar su presencia en el otro extremo. De esta forma, el proveedor sabr la localizacin del cliente. En ningn caso es suficiente para poder hacer llamadas. El comando Register slo es necesario si:
1. 2. 3. Se necesita ser llamado (lo cul implica ser localizado). Se aparece en el otro extremo con una configuracin de IP dinmica. Los requerimientos registrar se manejan periodicamente!!
Cisco Public
14
allow y disallow: indican los codecs permitidos / no permitidos. dtmfmode: especifica el mtodo por el cual se enviarn los tonos (dgitos pulsados durante la conversacin); inband/rfc2833/info nat: informa a Asterisk el tipo de NAT en el que se encuentra; yes/no/never/route externip: direccin pblica si esta atrs de un NAT. context: contexto por defecto donde entrarn las llamadas entrantes por SIP. port: puerto en el que escuchar (5060 ).
Cisco Public
15
SIP.conf
user: enva llamadas a Asterisk. peer: recibe llamadas de Asterisk. friend: recibe y enva llamadas. La sintaxis para definir un type es:
[nombre] ; contexto type = friend / peer / user variable1 = valor variable2 = valor
Cisco Public
16
host: IP remota o dynamic (en el caso en que la IP no sea fija). username: nombre de usuario. secret: contrasea de acceso en texto plano. allow y disallow: configuraciones de codecs especficas para cada peer / friend.
qualify: evala el estado del extremo SIP para conocer su accesibilidad y latencia (tener cuidado si el otro extremo no esta configurado para responder).
canreinvite: permite que el trfico de voz pase por el asterisk o bien directamente entre las partes.
Cisco Public
17
SIP.conf Ejemplo
[pepe] ; usuario type=friend ; IN/OUT secret=pepin ; clave context=internos ; rela dial plan callerid="pepe perez" <1001> host=dynamic ; IP del device nat=yes ; soporte NAT device canreinvite=no ;disallow=all ;allow=gsm ;allow=ulaw ;allow=alaw mailbox=1001@default
[juan] type=friend secret=juanin callerid="juan perez" <1002> context=internos host=dynamic nat=yes canreinvite=no ;disallow=all ;allow=gsm ;allow=ulaw ;allow=alaw mailbox=1002@default
Cisco Public
18
Mediante el comando reload en el CLI de Asterisk, se indica que recargue la configuracin. Aunque es posible recargar de forma independiente slo la conf. SIP:
CLI> sip reload
Una vez recargada, puede comprobarse los users que se han definido con el comando: sip show users
Para ver los peers definidos: sip show peers Puede consultarse si Asterisk se ha registrado correctamente en los registars configurados en la seccin general con el comando: sip show registry Pueden verse los canales sip activos (comunicaciones activas), va el comando: sip show channels
Cisco Public
19
IAX.conf
En el archivo IAX.CONF se definen todos los enlaces que se establecern usando el protocolo IAX tiene la misma estructura que el SIP.CONF: una seccin general y otras por canales.
[juan] type=friend secret=miclave qualify=yes port=4569 transfer=no host=dynamic context=interno callerid=device <1234>
El valor transfer=no es el equivalente a canreinvite=no del sip.conf, hace que el servidor Asterisk quede situado en medio de la comunicacin entre clientes.
Cisco Public
20
IAX.conf
El protocolo IAX permite el trunking de llamadas, es decir, que mltiples streams de voz compartan un nico trunk con otro servidor, reduciendo el overhead creado por los paquetes IP.
trunk=yes
Cisco Public
21
Cisco Public
22
El dialplan se divide en secciones denominadas contextos, que estn rotuladas y contienen un grupo de extensiones. Los contextos se definen colocando su nombre entre corchetes ([]). Este nombre puede contener caracteres alfanumricos adems del guin y el guin bajo. Por ej:
[interno]
Todas las instrucciones son parte del contexto hasta que el prximo contexto es definido.
Cisco Public
23
Ejemplo: exten => 123,1,Answer() Extensin s (start): es una extensin especial que es utilizada si una llamada entra a un contexto sin una extensin destino especfica (por ejemplo una llamada en un puerto FXO); la llamada trata de entrar automticamente a la extensin s.
exten => s,1,Answer()
Cisco Public
24
Cisco Public
25
Prioridades en Extensions.conf
Prioridades sin numerar: Asterisk introduce el uso de la prioridad n (next). Cada vez que Asterisk encuentra una prioridad n, toma el nmero de la prioridad anterior y le suma 1. Simplifica el proceso de escritura del dialplan, evitando tener que volver a numerar las prioridades al insertar una prioridad para la misma exten. Ejemplo: exten => 123,1,Answer() exten => 123,n,hago algo exten => 123,n,Hangup() exten => 555,1,Answer() exten => 555,n(LlamaPepe),Dial(SIP/pepe,20) exten => 555,n,Voicemail(44) exten => 555,n,Hangup
Cisco Public
26
Prioridades en Extensions.conf
;Va a n+101 en caso de que el canal est ocupado:
exten => 555,LlamaPepe+101,Voicemail(44,u) ;Tambin puede tener una etiqueta esta prioridad: exten => 555,LlamaPepe+101(PepeNoDisponible),
exten => _044.,1,Answer exten => _044.,n(Director),GotoIf($[${CALLERID(num)} =pepe]?LlamaCelular:) exten => _044.,n,Set(TIMEOUT(absolute)=300) exten => _044.,n(LlamaCelular),Dial(Zap/1Dahdi/1/${EXTEN}) exten => _044.,n,Hangup
Cisco Public
27
Las aplicaciones realizan una accin determinada en el canal actual, controlando el comportamiento de la llamada y del sistema en s. Algunos ejemplos:
Answer(): contesta una llamada. Hangup(): cuelga una llamada. Dial(): realiza una llamada saliente. Playback(): reproduce un archivo de sonido.
Ciertas aplicaciones requieren del pasaje de parmetros, estos se incluyen dentro de los parntesis, separados por ,.
Cisco Public
28
extensions.conf
En el archivo extensions.conf se configura el plan de marcado (dialplan) de la central telefnica. El dialplan consistir en una serie de contextos que contendrn extensiones y que tendrn diferentes prioridades. Una extensin VOIP Asterisk no es lo mismo que una extensin telefonica tradicional. El archivo tiene dos contextos generales uno el contexto general y el contexto globals.
Cisco Public
29
Sintaxis en extensions.conf
Sintaxis General de un contexto en extensions.conf
Cisco Public
30
Contextos y Extensiones
Cada extensin SIP o llamada entrante de la PSTN tendr asociado un contexto. Para acceder a variables dentro del script del extensions.conf se usa:
${ }
Marcar una extensin significa acceder a una seccin de cdigo, y, de acuerdo a una prioridad establecida ejecutar una aplicacin. Las prioridades definen que aplicaciones se marcan primero. El orden fisico del archivo extensions.conf no es relevante, para eso estan las prioridades, excepto en prioridad n. ${EXTEN} es una variable de Asterisk que contiene el numero de extensin que fue marcado.
Cisco Public
31
Los nombres de variables NO son case sensitive. Para el uso de operadores (aritmeticos, lgicos) se usa:
$[OPERACION]
Cisco Public
32
Cisco Public
33
Cisco Public
34
Cada nmero perteneciente a una PBX dentro del laboratorio constar de 4 dgitos. Los dos primeros dgitos identificarn al servidor Asterisk y los dos posteriores, una extensin dentro del mismo. El identificador de cada Asterisk est dado por un dgito con la fila que ocupa dentro de la sala, y seguido por otro con el nmero de columna. Por lo tanto cada nmero tendr la siguiente forma: FCXX donde F es la fila de la PBX,
Cisco Public
35
Cisco Public
36
Cisco Public
37
Cisco Public
38
Cisco Public
39