19
ASTERISK 07.Configurando el Asterisco I

07-ASTERISK-Configurando El Asterisco I

Embed Size (px)

Citation preview

ASTERISK07.Configurando el Asterisco I

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)