07-asterisk-configurando el asterisco i
TRANSCRIPT
Analizando el sistema de directorio y archivos
Al terminar la instalación de Asterisk tendremos unas
cuantas carpetas y archivos nuevos.
/etc/asterisk
/usr/lib/asterisk/modules
/var/lib/asterisk
agi-bin/ donde poner nuestros script
firmware/ firmware de las tarjetas en uso
images/ donde las aplicaciones irán a buscar las
imágenes cuando se comuniquen con canales que
suportan esta función.
keys/ claves publicas y privadas que asterisk
puede necesitar para conectarse con otros
servidores o servicios (Ej: dundi).
Analizando el sistema de directorio y archivos
mohmp3/ carpeta con nuestros archivos mp3
que podremos usar como música en espera si
hemos instalado asterisk-addons.
sounds/ contiene todos las voces que podremos
usar en nuestro dialplan.
moh/ la música en espera que viene con la
instalación de asterisk (no mp3).
licences/ las licencias de uso que hemos
comprado (Ej: para el codec g729).
Analizando el sistema de directorio y archivos
/var/spool/asterisk
dictate/ donde se guardaran los archivos audio
creados con la aplicación Dictate().
meetme/ donde se guardarán las eventuales
grabaciones de la conferencias.
monitor/ si se graba una llamada esta es la
carpeta donde se guardarán los archivos audio.
outgoing/ donde hay que mover los archivo de
llamadas (call files). Véase el archivo callfiles.txt
en la carpeta doc de nuestra distribución Asterisk.
system/ carpeta para archivos temporáneos
creados por la aplicación System().
Analizando el sistema de directorio y archivos
tmp/ carpeta donde se guardan los archivo
temporáneos creados por algunas aplicaciones (Ej.
contestador).
voicemail/ donde se guardaran los archivos
audio de los correo de voz dejados en el
contestador y los mensajes audio personalizados
de cada usuario.
/var/run que contiene la ID del proceso de asterisk
cuando esté corriendo.
/var/log Registros de logs.
Archivos Importantes de Asterisk
La configuración principal de Asterisk se basa entre
otros en los siguientes archivos de configuración:
/etc/dahdi/system.conf
/etc/asterisk/chan_dahdi.conf
Configuración de líneas y extensiones analógicas y
digitales.
/etc/asterisk/sip.conf
Configuración de extensiones y conexiones con
Operadores IP u otros Asterisk.
/etc/asterisk/ooh323.conf
Configuración de conexiones con Operadores IP.
Archivos Importantes de Asterisk
/etc/asterisk/mgcp.conf
Configuración de extensiones MGCP.
/etc/asterisk/iax.conf
Configuración de extensiones y conexiones con
Operadores IP u otros Asterisks.
/etc/asterisk/voicemail.conf
Configuración del Sistema de Mensajería.
/etc/asterisk/extensions.conf
Configuración del Plan de numeración interno y
externo.
Archivos Importantes de Asterisk
/etc/asterisk/musiconhold.conf
Configuración del Sistema de música en espera.
/etc/asterisk/res_odbc.conf
Configurar odbc para base de datos utilizada en
asterisk.
/etc/asterisk/features.conf
Servicios adicionales como parqueo de llamadas.
Aplicaciones + Usadas de Asterisk
Asterisk ejecuta secuencialmente los comandos
asociados a cada extensión. 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 grabación a disco de la
llamada.
Dial: realizar una llamada saliente.
Goto: saltar a otra extensión o contexto.
PlayBack/Background: reproduce un fichero de
sonido.
Aplicaciones + Usadas de Asterisk
VoiceMailMain: Conduce al usuario a revisar su
correo de voz.
VoiceMail: Conduce al usuario a grabar un mensaje
en una casilla de voz particular.
Wait: Realiza una pausa.
Set: Cambia el valor de una variable.
NoOp: Muestra el valor en la consola de Asterisk.
exten => _20XXXXXXX,1, Dial(Zap/${EXTEN:2},8,Ttm)
exten => _XXX,2,VoiceMail(${EXTEN}@default)
exten => *98,1,Answer
exten => _9.,1,Dial(SIP/${EXTEN},10,Tt)
exten => 1234/_256NXXXXXX,1,Answer()
Gramática de los archivos de configuración
El signo (=) y el signo (=>) pueden ser usados de
forma idéntica.
Las líneas en blanco serán ignoradas.
[] Definen una entidad.
{} Indican una variable.
8000 Valor Numérico
Alexander Valor Alfanumérico
4321/1234 Numérica con CallerID
_4XXX Patrones
s Indica entrada de un canal.
Gramática de los archivos de configuración
_(underscore) Inicio de Patrón
. (dot) Cualquier número
[13-9] 13456789
X 0-9
Z 1-9
N 2-9
Operadores Matemáticos
Suma (+) Multiplicación(*)
División(/) Resta(-)
Porcentaje(%)
Operadores Lógicos
Operador “Y” lógico (&)
Operador “O” lógico (|)
Operadores de comparación (=, >, >=, <,<=,!=)
Comentarios (;)
exten => _XXXXXXX,1,Dial(DAHDI/1/${EXTEN})
exten=1000,1,Set(TEST=10)
exten=1000,2,Set(SUMA=$[${TEST}*5])
exten=1000,3,NoOP(${SUMA})
Variables
Existen tres tipos de variables:
• Variables globales
Variables globales pueden ser configuradas en la
categoría [globals] en estensions.conf.
• Variables de canal
Son configuradas usando el comando Set().
• Variables de ambiente
Proporcionar un medio de acceder variables de
ambiente Unix de dentro de Asterisk.
${CALLERID(all)}: El identificador de llamada
(nombre y número).
Variables
${CALLERID(name)}: El nombre de id de la llamada.
${CALLERID(num)}: El número de id de la llamada.
${CHANNEL}: Nombre del canal actual.
${CONTEXT}: Nombre del contexto actual.
${EXTEN}: La extensión actual.
${DIALSTATUS}: Status de la llamada.
${DIALEDTIME}: Hora en que el número fue discado.
WTF?
SubStrings
La cadena se establece:
${string:offset:length} donde:
offset: punto de inicio.
length: compresión.
Retorna un substring de string, iniciando en la
posición definida por “offset” y retornando la
compresión de caracteres definidos en “length”.
Si el offset es negativo, esto es tomar de la derecha
hacia la izquierda a partir del final del string.
Si la compresión es omitida, o es negativa, entonces
todo el resto del string a partir del punto de inicio
(offset) es retornado.
SubStrings
Ejemplos:
${123456789:1}-retorna el string 23456789
${123456789:-4}-retorna el string 6789
${123456789:0:3}-retorna el string 123
${123456789:2:3}-retorna el string 345
${123456789:-4:3}-retorna el string 678
exten => _NXX.,1,Set(areacode=${EXTEN:0:3})
exten => _516XXXXXXX,1,Dial(${EXTEN:3})
Opciones Especiales
Teniendo presente que:
Dial(tipo/identificador,timeout,opciones,URL)
Opciones: Este parámetro, que es opcional, es un
string conteniendo cero o más de una de las
siguientes “flags”.
m: Provee música en espera para el originador
hasta que el usuario llamado responda. Esto es
mutuamente exclusivo con la opción r.
t: permite al usuario llamado transferir la
llamada.
T: permite al usuario de origen transferir la
llamada.exten=_0ZXXXXXXX,1,Dial(Zap/g1/${EXTEN:1},20,tT)