View
99
Download
1
Category
Preview:
Citation preview
Directorios Usados por Asterisk
• Asterisk utiliza varios directorios en el sistema Linux para administrar los diferentes aspectos del sistema.
/etc/asterisk/
Contiene los archivos de configuración del sistema.
/usr/lib/asterisk/modules/
Contiene todos los módulos cargables de Asterisk (códecs, formatos y canales)
/var/lib/asterisk/
Contiene la base de datos local de Asterisk. Incluye los subdirectorios:
agi-bin/
Contiene scripts personalizados.
firmware/
Contiene varios firmware de dispositivos compatibles con Asterisk.
images/
Aplicaciones que soportan imágenes gráficas buscan dicho directorio.
Directorios Usados por Asterisk (cont.)
keys/
Asterisk puede utilizar sistemas de llaves pública/privada para autenticación.
mohmp3/
Cuando se configura Music on Hold (Música en Espera), las aplicaciones buscan dicho directorio.
sounds/
Todos los prompts de voz para Asterisk residen en dicho directorio.
/var/spool/asterisk/
Contiene varios subdirectorios:
dictate/
Ubicación por defecto donde la aplicación Dictate() busca archivos.
meetme/
Ubicación donde la aplicación MeetMe() guarda las grabaciones de conferencias.
system/
Es usado para almacenar datos temporalmente.
Directorios Usados por Asterisk (cont.)
voicemail/
Los correos de voz y saludos con almacenados en dicho directorio.
/var/run/
Contiene la información de procesos (process ID – PID) para todos los procesos activos en el sistema, incluyendo Asterisk.
/var/log/asterisk/
Directorio donde Asterisk almacena la información de eventos.
/var/log/asterisk/cdr.csv/
Usado para almacenar los CDRs (Call Detail Records) en formato de valores separados por coma (CSV).
Configuración Inicial de Asterisk
• Después de haber completado todos los pasos previos, debemos tener un sistema Asterisk funcionando.
• Aún no se pueden realizar llamadas, debido a que no se han creado aún ningún canal.
• Realizaremos la configuración de tres canales: un canal FXO, un canal PRI-E1 y un canal SIP.
Trabajando con Archivos de Configuración
• Editaremos los siguientes archivos:
system.conf
Configuración de bajo nivel para las interfaces de hardware.
chan_dahdi.conf
Configuración de la interacción entre Asterisk y el hardware.
extensions.conf
El plan de marcación, que hará que se puedan realizar las llamadas.
sip.conf
Configuración del protocolo SIP.
iax.conf
Configuración del protocolo IAX.
Trabajando con Archivos de Configuración (Cont.)
• Crearemos un nuevo archivo extensions.conf, e insertaremos las siguientes líneas:
[globals]
[general]
[default]
[incoming_calls]
[internal]
[phones]
include => internal
Para actualizar los últimos cambios, ejecutar:
*CLI> dialplan reload*CLI> dialplan show
Configurando el Dialplan
• Expandimos el dialplan iniciado en el paso previo. No olvidar de ejecutar dialplan reload desde la consola Asterisk.
[globals]
[general]
[default]
exten => s,1,Verbose(1|Unrouted call handler)
exten => s,n,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(tt-weasels)
exten => s,n,Hangup()
Configurando el Dialplan (Cont.)
[incoming_calls]
[internal]
exten => 500,1,Verbose(1|Echo test application)
exten => 500,n,Echo()
exten => 500,n,Hangup()
[phones]
include => internal
Canales FXO y FXS
• La diferencia entre un canal FXO y un canal FXS es simplemente cual de los extremos de la conexión provee el tono de marcación. Un puerto FXO no genera tono de marcación, acepta uno. Un puerto FXS provee tanto tono de marcación y voltaje de timbrado para alertar de una llamada entrante. Ambas interfaces proveen comunicación bidireccional (transmitidas y recibidas en ambas direcciones simultáneamente).
Canales FXO y FXS (Cont.)
• Si el servidor Asterisk tiene un puerto FXO compatible, se puede conectar una línea telefónica para ser usada para realizar y recibir llamadas telefónicas. Por el contrario, si el servidor Asterisk tiene un puerto FXS compatible, se puede conectar un teléfono para poder realizar y recibir llamadas telefónicas.
• Los puertos son definidos en la configuración por la señalización que utilizan, es decir, lo opuesto al tipo de puerto físico que son. Por lo tanto, un puerto FXO físico será definido en la configuración con señalización FXS, y un puerto FXS será definido con señalización FXO.
Configuración de un canal FXO para conexión a la PSTN
• Empezaremos configurando un canal FXO.• El archivo /etc/dahdi/system.conf es usado para
configurar el hardware. La siguiente configuración mínima define un puerto FXO con señalización FXS:
fxsks=1
echocanceller=oslec,1
loadzone=us
defaultzone=us
Posibles tipos de señalización: Loop start (ls), Ground start (gs) o Kewlstart (ks); loadzone contiene configura el conjunto de información acerca de los diferentes sonidos que hace un sistema telefónico en un país particular: tono de marcación, ciclos de timbrado, tono de ocupado, otros)
Configuración de un canal FXO para conexión a la PSTN (Cont.)
• Se puede verificar que el hardware y puertos fueron cargados y configurados correctamente, con el uso del programa dahdi_cfg:
dahdi_cfg -vv
DAHDI Tools Version - 2.4.0
DAHDI Version: 2.4.0
Echo Canceller(s):
Configuration
======================
Channel map:
Channel 01: FXS Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 01)
1 channels to configure.
Configuración de un canal FXO para conexión a la PSTN (Cont.)
• Asterisk utiliza el archivo chan_dahdi.conf para determinar las configuraciones del hardware de telefonía instalado en el sistema. El archivo chan_dahdi.conf controla las diferentes características y
funcionalidades asociados a los canales de hardware.[trunkgroups]
[channels]
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
context=incoming
signaling=fxs_ks
channel => 1
Configuración de un canal FXO para conexión a la PSTN (Cont.)
• Usaremos la aplicación Echo() para verificar que las comunicaciones bidireccionales para el canal estén trabajando. Agregaremos las siguientes líneas al archivo: /etc/asterisk/extensions.conf
[incoming]
exten => s,1,Answer()
exten => s,n,Echo()
• Llamando
Ahora que el canal FXO está configurado y conectada una línea telefónica, se puede llamar al número PSTN.
Configuración de un canal PRI-E1 para conexión a la PSTN
• Empezaremos configurando un canal PRI-E1.• El archivo /etc/dahdi/system.conf es usado para
configurar el hardware. La siguiente configuración mínima define un puerto PRI-E1:
span=1,1,0,ccs,hdb3,crc4
bchan=1-15,17-31
echocanceller=mg2,1-15,17-31
hardhdlc=16
loadzone=us
defaultzone=us
Configuración de un canal FXO para conexión a la PSTN (Cont.)
• Se puede verificar que el hardware y puertos fueron cargados y configurados correctamente, con el uso del programa dahdi_cfg:
dahdi_cfg -vv
DAHDI Tools Version - 2.3.0
DAHDI Version: 2.3.0.1
Echo Canceller(s): MG2
Configuration
======================
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
Channel map:
Channel 01: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 01)
Channel 02: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 02)
Channel 03: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 03)
…………………………….
…………………………….
Configuración de un canal PRI-E1 para conexión a la PSTN (Cont.)
• Asterisk utiliza el archivo chan_dahdi.conf para determinar las configuraciones del hardware de telefonía instalado en el sistema. El archivo chan_dahdi.conf controla las diferentes características y funcionalidades asociados a los canales de hardware.
[trunkgroups]
[channels]
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
switchtype=euroisdn
context=incoming
signalling=pri_cpe
channel => 1-15,17-31
Configuración de un canal PRI-E1 para conexión a la PSTN (Cont.)
• Usaremos la aplicación Echo() para verificar que las comunicaciones bidireccionales para el canal estén trabajando. Agregaremos las siguientes líneas al archivo: /etc/asterisk/extensions.conf
[incoming]
exten => s,1,Answer()
exten => s,n,Echo()
• Llamando
Ahora que el canal PRI-E1 está configurado y conectado a un circuito digital, se puede llamar al número PSTN.
Configuración de un canal SIP para conexión a un proveedor VoIP
• Con el advenimiento de la telefonía por Internet, han surgido varias compañías de telefonía basadas en Internet. Muchos de éstos proveedores permiten conectar un sistema Asterisk a sus redes. La siguiente configuración en el archivo /etc/asterisk/sip.conf permitiría conectar a un proveedor de Telefonía IP:
[identificador_único]
host=direccion_ip_proveedor
secret=palabra_secreta
type=friend
context=incoming
insecure=invite
fromuser=identidicador_único
disallow=all
allow=códec_usado
dtmfmode=rfc2833
Configuración de un canal SIP para conexión a un proveedor VoIP (Cont.)
• Ahora necesitamos configurar un parámetro adicional en la sección [general] del archivo sip.conf: register. register le dirá al proveedor donde enviar las llamadas cuando una llamada en recibida para nosotros.
• Los parámetros de register toma la siguiente forma:
register => nombre_usuario:palabra_secreta@<nombre_o_ip_proveedor>
• Se puede verificar el estado del registro en cualquier comando desde la consola de Asterisk:
*CLI> sip show peers
*CLI> sip show registry
Configurando Teléfonos SIP
• El propósito de SIP es ayudar a dos puntos conversar uno con otro (si es posible, directamente). En SIP, a los puntos les llamamos user agents, de los cuales hay dos tipos: cliente y servidor.
• Configuración básica de Telefóno SIP en Asterisk
No se requiere mucha configuración en Asterisk para que trabaje un teléfono SIP.
Configurando Teléfonos SIP (Cont.)
• Si escribimos lo siguientes en el archivo /etc/asterisk/sip.conf podremos registrar un teléfono SIP en el sistema:
[general]
context=default
allowoverlap=no
bindport=5060
srvlookup=yes
[authentication]
[identificador_único]
type=friend
context=phones
host=dynamic
secret=palabra_secreta
disallow=all
allow=códec_utilizado
dtmfmode=rfc2833
Configurando Teléfonos SIP (Cont.)
• Deberemos agregar líneas a nuestro dialplan en el archivo extensions.conf:
[globals]
[general]
[default]
exten => s,1,Verbose(1|Unrouted call handler)
exten => s,n,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(tt-weasels)
exten => s,n,Hangup()
[incoming_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1000)
Configurando Teléfonos SIP (Cont.)
[internal]
exten => 1000,1,Verbose(1|Extension 1000)
exten => 1000,n,Dial(SIP/1000,30)
exten => 1000,n,Hangup()
exten => 500,1,Verbose(1|Echo test application)
exten => 500,n,Echo()
exten => 500,n,Hangup()
[phones]
include => internal
include => outgoing_calls
Recommended