Escolar Documentos
Profissional Documentos
Cultura Documentos
ASTERISK
Autores:
xsanzkizsh [darkbox]
Beelzebu [kowell]
Bluebox 2007
1
INTRODUCCION AL SCRIPT DE ASTERISK
Este Script explicativo, esta enfocado en la instalación y configuración de una PBX basada en Asterisk.
Los ejemplos y archivos de configuración presentados corresponden a un Dialplan base diseñado para tres funciones
fundamentales:
● Manejo de Usuarios a través de Anexos digitales, conectados mediante el protocolo SIP, y salida de llamadas
através de ZAP por los canales habilitados de la conexión telefónica análoga o de la PSTN.
● Construcción de un IVR (Menú Interactivo de Voz) con la funcionalidad de Contestar, reproducir mediante audio
pre-grabado las opciones, esperar la respuesta del cliente através de un dígito telefónico, y conexión entre las
opciones a anexos de usuarios conectados a Asterisk. Correo de Voz y redireccionamiento de la llamada como
prioridad en caso que el anexo no conteste. También posee la configuración para que Asterisk corte la llamada tras
un cierto tiempo de espera sin respuesta por parte del cliente.
● Como opciones para el IVR, el script posee los pasos para la creación de Casillas de Voz, Música en Espera, y
Conferencias con MeetMe, con sus respectivos ejemplos.
Este Script pretende ser una guía base para la creación de una Central Telefónica Digital, la cual posea interacción con un
un linea análoga, o con una E1, un IVR base con contestación de llamadas y menú, música en espera, voicemail y
conferencias, de tal manera que la implementación de esta pueda ser metódica, y simplificada, sin olvidar que tras esta
configuración se encuentran múltiples opciones asociadas a los distintos ficheros de configuración para realizar un trabajo
más especifico.
2
PREPARACION DE ASTERISK
1.-REQUERIMIENTOS
1.1.- HARDWARE:
Lista de requerimientos óptimos para la correcta utilización de Asterisk como servidor.
● gcc
● OpenSSL
● ncurses
● zlib
● glibc-devel
● ncurses-devel
● openssl-devel
● zlib-devel
● kernel-devel (kernel-source)
2.- INSTALACION:
Instalación del software base para la posterior implementación de una PBX basada en Asterisk. Recordar que todos los
comandos deben ejecutarse como root.
Libpri
$ tar -zxvf libpri-*.tar.gz
$ make && make install
$ make config
Zaptel
$ tar -zxvf zaptel-*.tar.gz
$ make && make install
$ make config
3
Asterisk
Para Asterisk existe diverso Hardware para la interconexion con las PSTN. Dependiendo del tipo de tarjeta, esto puede
realizarse através de una o más lineas análogas, o a través de lineas digitales del tipo E1, T1, J1 PRI.
En este caso, veremos la configuración de la tarjeta de Digium TE250P para lineas digitales E1, y la configuración de la
tarjeta Digium TDM400P para lineas análogas a través de FXO y FXS utilizando LS.
1.1.-DIGIUM TDM400P
1.1.1- Editar archivo /etc/asterisk/zapata.conf y agregar al final de este, según configuración de los módulos físicos de la
tarjeta Digium TDM400P :
context = interno
channel => 1
signalling=fxs_ls
context = FXO
channel => 3
signallings=fxo_ls
fxols=1
fxsls=3
4
1.1.3.- Editar el loadzone del archivo y el defaultzone, quedando de la siguiente forma:
loadzone=cl
defaultzone=cl
1.2.-DIGIUM TE205P:
[channels]
language=es
context=default ;;Contexto utilizado en /etc/asterisk/extensions.conf
switchtype = euroisdn ;;Tipo de linea E1,T1,J1
pridialplan = unknown
signalling = pri_cpe ;;Tipo de señal de la linea
group=1
callgroup=1
pickupgroup=1
channel => 1-15
channel => 17-31
Desde este punto, se pueden configurar en zapata.conf de forma opcional, las siguientes funciones:
usecallerid=yes
hidecallerid=no
callwaiting=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
echocancel=yes
immediate=no
amaflags=documentation
musiconhold=default
5
1.2.2.- Editar /etc/zaptel.conf
span=1,1,0,ccs,hdb3,crc4
bchan=1-15 ;;Configuración del canal 1
dchan=16
bchan=17-31
span=2,1,0,ccs,hdb3,crc4
bchan=32-46 ;;Configuración del canal 2
dchan=47
bchan=48-62
loadzone = cl
defaultzone = cl
Para que Asterisk pueda funcionar con el protocolo SIP, deben crearse cuentas de usuarios, y posteriormente extensiones o
anexos vinculados a los usuarios creados. A continuación se detalla y ejemplifican los dos pasos correspondientes a esta
configuración.
2.1.- Usuarios:
Editar /etc/asterisk/sip.conf al final del archivo crear los usuarios correspondientes a cada anexo. A modo de ejemplo:
[usuario1]
type=friend
secret=1234
callerid="usuario1"
host=dynamic
nat=yes
allow=ulaw
context=anexos
[default]
include => usuarios
include => externo
include => salida-analoga
include => mailbox
[anexos]
6
exten => 1001,1,Dial(SIP/usuario1,15,tT)
exten => 1001,2,Hangup
exten => 1002,1,Dial(SIP/usuario2,15,tT)
exten => 1002,2,Hangup
[mailbox]
exten => 501,1,VoiceMailMain() ;;Extensión que llama al correo de voz
[FXO]
include => IVR
[salida-analoga]
exten => _9.,1,Dial(Zap/1/${EXTEN:1}) ;; Salida a linea análoga
exten => _9.,2,Hangup
Un IVR es un menú interactivo telefónico, la siguiente configuración corresponde a un IVR base, el cual consiste en dar un
mensaje de bienvenida, y dar las opciones pre-grabadas en un archivo de sonido .gsm, guardado en asterisk-sounds/ Vale
destacar que este ejemplo, corresponde a la continuación del archivo extensions.conf, configurado anteriormente.
[IVR]
exten => s,1,Answer ;; Contesta una llamada
exten => s,2,Wait,0 ;; Espera 0 segundos antes de continuar
exten => s,3,Background(mensaje-inicio0) ;; Reproduce una opción de IVR
exten => s,n,Set(TIMEOUT(digit)=5) ;; Tiempo máximo para presionar un dígito
exten => s,n,Set(TIMEOUT(response)=10) ;; Tiempo máxima de respuesta
exten => s,n,WaitExten ;; A espera de una extensión
7
exten => 2,1,Dial(SIP/1002,15,tT)
exten => 2,2,Voicemail(u1001)
exten => 2,3,HangUp
exten => 2,102,Voicemail(b1001)
exten => 2,103,HangUp
2.1.- En la sección [general] del archivo, pondremos los formatos que queramos que sean utilizados como medios de
grabación, y a continuación debemos ingresar el servidor de correo con el cual se comunicara Asterisk con nosotros
mediante E-Mail, en la mayoría de las veces estas lineas existirán, por lo cual bastara con descomentarlas:
2.2.- Para crear casillas de voz, debemos editar /etc/asterisk/voicemail.conf y agregar en la seccion [default]:
3.-MUSICA EN ESPERA
Para poner música en espera de manera personalizada, en formato mp3, dentro de algún contexto o de nuestro IVR,
debemos seguir los siguientes pasos:
[nombre]
mode=quitemp3 ;; Modo de reproducción de la música
directory=/var/mp3/ ;; Ruta de la música
musiconhold=nombre
8
3.4.- Para poder reproducir MP3 en MusicOnHold() en la instalacion de Asterisk, como ultimo paso hay que ejecutar el
siguiente comando:
$ make mpg123
MeetMe() es una aplicación Asterisk que nos permite realizar conferencias seguras, separadas por salas o rooms, y
protegidas por contraseñas. Para configurar esta aplicación debemos hacer lo siguiente:
[rooms]
conf => 600 ;; nombre-de-la-sala => numero de la sala
4.3.- Elementos opcionales para agregar a extension.conf para ser utilizarlos con Meetme:
9
Atribución-NoComercial 2.0 (Chile)
Usted es libre de:
• copiar, distribuir, exhibir, y ejecutar la obra
• hacer obras derivadas
• Ante cualquier reutilización o distribución, usted debe dejar claro a los otros los téminos de la
licencia de esta obra.
• Cualquiera de estas condiciones se puede dispensar si usted obtiene permiso del titular de los
derechos de autor.
Sus usos legítimos u otros derechos no son afectados de ninguna manera por lo dispuesto
precedentemente.
Este es un resumen legible-por-humanos del Código Legal (la licencia completa).
Limitación de Responsabilidad
10