77565576 lab oratorios asterisk

83
Asterisk Training Lab Instalar Asterisk y sus Componentes Laboratorio 1 Tiempo Límite: 40 Minutos Requerimientos: Estación Linux instalada, con conexión a la red del instructor. Bases 1

Upload: jherson-andrade-tenorio

Post on 03-Jan-2016

30 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 77565576 Lab Oratorios Asterisk

 

Asterisk Training Lab  

 

Instalar Asterisk y sus Componentes 

 

Laboratorio 1 

 

Tiempo Límite: 40 Minutos 

Requerimientos:  

Estación Linux instalada, con conexión a la red del instructor.  

Bases 

1    

Page 2: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

2 | P a g e   

 

Objetivo del Laboratorio Instalar asterisk y explorar la interfaz de comandos de la pbx (CLI)

1. Descargar, descomprimir e instalar asterisk y sus complementos de los archivos

comprimidos .tar

2. Cargar los módulos de dahdi.

3. Configurar Dahdi y Asterisk para que comiencen al inicio del sistema.

4. Iniciar Asterisk y confirmar que está corriendo.

5. Usar Asterisk para obtener ayuda

Paso 1: Loguearse en el sistema Se deberá loguear como usuario root con la clave asterisk.

1. Si su estación está apagada enciéndala.

2. En la ventana de login de CentOS, ubicada en el centro de la pantalla entre el

nombre de usuario (username).

root

3. Después de digitar Enter se le preguntara por el password, digite:

asterisk

4. Debería estar ahora en el entorno de GNOME o KDE según haya sido instalado

su sistema.

Page 3: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

3 | P a g e   

Paso 2: Update yum Nota: Este paso solo se debe hacer en instalaciones para producción, omitir

este paso en el laboratorio Como en este caso se trata de una nueva instalación de CentOS/Linux se debería

actualizar la herramienta de actualización.

En una ventana de terminal (Applications -> System Tools -> Terminal) use yum

para actualizar yum.

En la terminal digite el siguiente comando

# yum update yum

Conteste yes a la actualización de yum y a la importación de la llave GPG.

Page 4: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

4 | P a g e   

Paso 3: Valide que se cumplan las dependencias de software. En una ventana de terminal (Applications -> System Tools -> Terminal) use yum

para verificar que las librerías requeridas, ya se encuentran instaladas en su

sistema.

Para lo cual en la terminal digite

#yum -C list paquete Ejemplo

Otra opción es emplear el manejador de paquetes de red hat rpm #rpm –q paquete

Se debe ejecutar este comando para cada una de las librerías requeridas

Estas son:

gcc gcc-c++ kernel-devel bison openssl-devel libtermcap-devel ncurses-devel doxygen curl-devel newt-devel

Page 5: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

5 | P a g e   

mlocate lynx tar wget nmap bzip2 mod_ssl crontabs vixie-cron speex speex-devel unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel mysql-connector-odbc mysql mysql-devel mysql-server php-mysql php-mbstring php-mcrypt flex ncurses ncurses-devel openssl zlib zlib-devel curl Si alguno de estos paquetes hace falta se debe copiar desde el Dvd al escritorio u

otra ubicación del servidor, si se emplea la interfaz grafica al dar doble clic este se

instalara.

Otra opción es copiar el archivo a una carpeta ejemplo:

/usr/instaladores

Y desde una terminal para instalar se digita

# cd /usr/instaladores

# rpm –ivh paquete.rpm

Page 6: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

6 | P a g e   

Se recomienda que se tengan instalados todos los paquetes antes de empezar la

instalación de la pbx

Page 7: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

7 | P a g e   

Paso 4: Actualizar los paquetes del kernel y el kernel-devel Nota: Este paso solo se debe hacer en instalaciones para producción, omitir

este paso en el laboratorio Se recomienda actualizar el kernel antes de compilar zaptel.

1. Use yum para actualizar los paquetes del kernel y kernel-devel.

# yum update kernel kernel-devel

2. Entonces reinicie (reboot) su computador

# reboot

3. Vuélvase a logear como root

4. Abra una ventana de terminal

Paso 5: Descargue el código fuente como tarballs. 1.En una ventana de terminal en donde se encuentre logueado como root

2.Cambie el directorio a:

# cd /usr/src

4.Use wget o ftp para descargar el código desde el repositorio

http://iprepositorio : ________________________

# wget http://iprepositorio/asterisk/fuentes /libpri-1.4.7.tar.gz

# wget http://iprepositorio/ asterisk/fuentes /zaptel-1.4.12.1.tar.gz

# wget http://iprepositorio/ asterisk/fuentes /asterisk-1.4.22.tar.gz

# wget http://iprepositorio/ asterisk/fuentes /asterisk-addons-1.4.7.tar.gz

# wget http://iprepositorio/ asterisk/fuentes /asterisk-sounds-1.2.1.tar.gz

Page 8: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

8 | P a g e   

Page 9: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

9 | P a g e   

Paso 6: Descomprima el código. Aun logueado como root and en el directorio /usr/src extraiga los archivos

fuentes de los tarballs.

# tar -zxvf libpri-1.4.7.tar.gz

# tar –zxvf dahdi-linux-2.0.0.tar.gz

# tar –zxvf dahdi-tools-2.0.0.tar.gz

# tar -zxvf asterisk-1.4.22.tar.gz

# tar -zxvf asterisk-addons-1.4.7.tar.gz

# tar -zxvf asterisk-sounds-1.2.1.tar.gz

Se deberían tener los siguientes directorios:

Paso 7: Compile el código. El orden en el cual se debe compilar el código es:

1. libpri

2. zaptel

3. asterisk

4. asterisk-addons

5. asterisk-sounds

Como se podrá notar, zaptel y asterisk tienen un paso extra make config.

Page 10: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

10 | P a g e   

Este comando configura a Linux para cargar estos módulos cuando la maquina

arranque.

#cd libpri-1.4.7

# make clean

# make

# make install

Si todo se compilo correctamente deberá existir libpri.so

# cd ..

# cd dahdi-linux-2.0.0

# make clean

# make

# make install

Si las dependencias están correctamente instaladas deberá aparecer

##################################################

#

###

### DAHDI installed successfully.

### If you have not done so before, install the package

### dahdi-tools.

###

##################################################

#cd ..

# cd dahdi-tools-2.0.0

# make clean

# ./configure

# make

Page 11: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

11 | P a g e   

# make install

# make config

Si las dependencias están correctamente instaladas deberá aparecer

I think that the DAHDI hardware you have on your system is:

pci:0000:01:09.0 wcfxo- 1057:5608 Wildcard X100P

#cd ..

# cd asterisk-1.4.22

# make clean

Se debe deslogear y volver a logear en la consola o dar reboot al server

#./configure

Page 12: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

12 | P a g e   

Si se desean habilitar o no paquetes se emplea

#make menuselect (opcional)

# make

# make install

# make samples

Si se desea tener la documentación de C de la pbx se digita

#make progdocs (opcional) como lo indica el código se debe tener

instalado doxygen.

Para que la pbx suba al iniciar linux

# make config (cuidado al tener ajustes en el dial plan)

Otra opción es

#chkconfig asterisk on

Page 13: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

13 | P a g e   

# cd ..

# cd asterisk-addons-1.4.7

# make clean

#./configure

#make menuselect

En el menú Applications se deja habilitada solo la primera opción

Page 14: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

14 | P a g e   

En Resource Modules se deshabilita

Se sale del submenú con las flechas y del aplicativo de configuración con x

menuselect changes saved!

Se digita

# make

# make install

# make samples

# cd ..

# cd asterisk-sounds-1.2.1

# make install

Page 15: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

15 | P a g e   

# cd ..

Después del siguiente reboot se debe tener la pbx corriendo!

Paso 8: Reboot # reboot

Paso 9: Verificar la Instalación 1. Logearse como root

2. Abrir una ventana de terminal

3. verificar si dahdi está cargado, con el comando:

# lsmod | egrep 'dahdi'

Se debería ver:

4. Si la pbx está corriendo se podrá intentar conectar a asterisk, digitando.

# asterisk -r

Usted debería ver

Page 16: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

16 | P a g e   

Paso 10: Parar Asterisk Existen varias formas para parar asterisk:

Empleando la interfaz de comandos CLI>

Digite

CLI> stop now (para inmediatamente)

Otras opciones en la interfaz son:

CLI> stop gracefully (deja de recibir nuevas llamadas)

CLI> stop when convenient (apaga cuando no hay llamadas)

Desde una terminal:

# killall asterisk

Paso 11: Arrancar Asterisk. Asterisk debería arrancar cuando inicie Linux. Sin embargo se puede subir la pbx

desde una interfaz de comandos, así:

# asterisk

Para subir la planta en modo debug:

# asterisk -vvvvgc

Si, cuando se haga un reboot asterisk debe iniciar automáticamente la pbx.

Paso 12: Conectándose a Asterisk Para conectarse a asterisk a través de la Command Line Interface (CLI), se digita:

# asterisk –r

Para conectarse variando el nivel de verbose (mas mensajes en pantalla)

# asterisk –vvvvvrc

Para desconectarse de la consola

correo*CLI> exit

Page 17: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

17 | P a g e   

Paso 13: Como obtener ayuda en Asterisk En la interfaz de comandos digite:

CLI> help

Shift+PageUP y Shift+PageDown permitirá navegar entre la extensa variedad de

comandos de la planta

Para mostrar ayuda para parar la maquina:

CLI> help stop

Ejemplo:

CLI> help stop now

Para conocer las aplicaciones que soporta la planta en el momento:

CLI> show applications

Para pedir ayuda en cómo se emplea una aplicación, ejemplo:

CLI> show application dial

Para obtener información de una función

CLI> show functions

Mostrar ayuda en la función LEN:

CLI> show function LEN

Obtener información del Asterisk Gateway Interface (AGI).

CLI> show agi

Si, se puede obtener información específica de un comando agi, ejemplo:

CLI> show agi say date

Con que parámetro se habilita la grabación por demanda de la persona quien

llama, en la aplicación Dial???

Page 18: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Asterisk Training Lab

Construyendo una estación básica de PBX Lab 2 Tiempo límite: 60 Minutos

Requerimientos:Requirements: Asterisk instalado y corriendo. Soft Phone X-Lite, teléfono Linksys spa921

1/10

Page 19: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Objetivo del laboratorio Crear un PBX simple con dos extensiones que se puedan llamar la una a la otra. Paso 1: Creando cuentas SIP Abra una terminal en su sistema Linux. Para abrir la terminal haga click en el menu “Applications”, seleccione “System Tools” luego “Terminal”. La terminal iniciara en el directorio /root. Use el comando para cambiar de directorio (cd) y vaya al directorio de configuración de asterisk: # cd /etc/asterisk Use el editor vi o nano para editar el archivo de configuración SIP: # vi sip.conf Su archivo sip.conf en el contexto [general] se debe ver así:

Para adicionar cuentas para sus teléfonos X-Lite y Linksys, vaya después de la línea srvlookup=no y adicione lo siguiente: [xxx_xlite] ; (Ponga sus iniciales en lugar de xxx). type = friend host = dynamic secret = xlite context = default [xxx_linksys] ; (Ponga sus iniciales en lugar de xxx). type = friend host = dynamic secret = linksys context = default

2/10

Page 20: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Su archivo quedará así:

Ahora guarde el archivo y salga del editor: Para que Asterisk reconozca las nuevas cuentas SIP usted debe dar un reload a la configuración SIP, para esto ingrese a la consola de Asterisk y ejecute un SIP reload: # asterisk –r CLI> sip reload Verifique la configuración usando el comando sip show peers: CLI> sip show peers Name/username Host Dyn Nat ACL Port Status xxx_linksys (Unspecified) D 0 Unmonitored xxx_xlite (Unspecified) D 0 Unmonitored 2 sip peers [2 online , 0 offline] Usted puede verificar el estado utilizando el comando sip show users www*CLI> sip show users Username Secret Accountcode Def.Context ACL NAT xxx_linksys linksys default No RFC3581 xxx_xlite xlite default No RFC3581

3/10

Page 21: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Ahora que ha confirmado que las cuentas SIP están configuradas puede salir del CLI: CLI> exit El sistema cargará la nueva configuración SIP desde el archivo sip.conf. NOTA IMPORTANTE: si usted hace cambios a un dispositivo SIP que este actualmente registrado en Asterisk, los cambios no serán tomados hasta que usted reinicie Asterisk o hasta que no reinicie la configuración SIP. (comando sip reload). Paso 2: Creando extensiones Ahora que usted tiene sus cuentas SIP creadas y cargadas, se deben adicionar las extensiones que enviaran las llamadas a estas cuentas, para esto edite el archivo extesnions.conf. Asegúrese de que su terminal esta en el directorio /etc/asterisk y haga lo siguiente: # vi extensions.conf Vaya al contexto [default] que se verá de la siguiente forma:

Adicione las nuevas extensiones: Posicione su cursor abajo del contexto [default] y cree las extensiones: exten => 101,1,Dial(SIP/XXX_xlite|30) exten => 102,1,Dial(SIP/XXX_linksys|30) Sus extensiones se verán así:

4/10

Page 22: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Ahora guarde la configuración y vuelva a la línea de comandos. Una vez más Asterisk requiere ser recargado para guardar los cambios. Para recargar la configuración de las extensiones ingrese a la consola de Asterisk y ejecute el comando extensions reload: # asterisk –r cli> extensions reload Para verificar la configuración, use el comando show dialplan: cli> show dialplan default Asterisk mostrará lo siguiente: [ Context 'default' created by 'pbx_config' ] '101' => 1. Dial(SIP/xxx_xlite|30) [pbx_config] '102' => 2. Dial(SIP/xxx_linksys|30) [pbx_config] Include => 'demo' [pbx_config] www*CLI> -= 2 extensions (2 priorities) in 1 context. =- Ahora salga del CLI con el comando exit: cli> exit Paso 3: Configurando X-Lite Ahora que Asterisk tiene una configuración válida para ambos teléfonos se deben configurar para hablar con Asterisk. Para esto se necesita saber la dirección IP de su servidor Asterisk, obténgala utilizando el comando ifconfig: #ifconfig eth0 Link encap:Ethernet HWaddr 00:E0:4C:7C:64:27 inet addr:66.28.144.174 Bcast:66.28.144.255 Mask:255.255.255.0 inet6 addr: fe80::2e0:4cff:fe7c:6427/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24697687 errors:0 dropped:0 overruns:0 frame:0 TX packets:6680623 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1921062384 (1.7 GiB) TX bytes:564265849 (538.1 MiB) Interrupt:201 Base address:0xa000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:5395539 errors:0 dropped:0 overruns:0 frame:0 TX packets:5395539 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1364198988 (1.2 GiB) TX bytes:1364198988 (1.2 GiB)

5/10

Page 23: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Ahora abra su X-Lite y configúrelo para que se conecte con Asterisk:

Paso 4: Configurando el Linksys SPA921 Ahora ingrese a la configuración de su teléfono Linksys con la dirección IP usando el navegador de su PC. Para configurar el teléfono haga lo siguiente:

6/10

Page 24: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Presione 9 para ver la dirección IP en la opción “Current IP”. Ahora ingrese al teléfono digitando la IP en su navegador.: http://La_dirección_IP_del_telefono/admin *Para abrir el navegador vaya a la opción “Internet” del menú “Application”.

Cambie la configuración del teléfono haciendo click en “Admin Login” en la esquina derecha superior de la ventana:

Para configurar el teléfono haga click en la pestaña “Phone”. En ésta pestaña configure el nombre de la estación (su nombre) y la extensión para el correo de voz (su extensión):

7/10

Page 25: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Guarde los cambios haciendo click en el botón “Submit All Changes”. Luego configure su cuenta de usuario haciendo click en la pestaña “Ext 1”.

8/10

Page 26: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Asegúrese de que la opción “Line Enable” este en “Yes” y vaya a la parte de abajo para configurar

oxy y Registration

Proxy y Outbound Proxy: será la dirección IP de su Asterisk

formación de usuario:

splay Name: [Su nombre] ce xxx con sus iniciales)

nfigure el audio como se ve a continuación:

los siguientes campos: Pr ElRegister: “Yes”

y: “Yes” Use Outbound Prox In DiUser ID: xxx_linksys (reemplaPassword: linksys Use Auth ID: “no” Co

e nuevo, guarde los cambios haciendo click en el botón “Submit All Changes”. El teléfono se Dreiniciará y se registrará en su servidor Asterisk.

9/10

Page 27: 77565576 Lab Oratorios Asterisk

Lab 2- Asterisk training

Paso 6: Haciendo llamadas

rá en el teléfono X-Lite ó marque 102 y timbrará en el

esumen:

ente:

uración. teléfono.

mbios.

uebe su instalación, Marque 101 y timbraPr

teléfono Linksys. R

ted aprendió lo siguiUs

Como editar archivos de config1.2. Como agregar cuentas SIP básicas a su3. Como agregar extensiones básicas a su teléfono.

a4. Como recargar Asterisk después de haber hecho c5. Como configurar su softphone X-lite.

pa 921. 6. Como configurar su teléfono Linksys S

10/10

Page 28: 77565576 Lab Oratorios Asterisk

Lab 3- Asterisk training

Asterisk Training Lab

Dialplan

Laboratorio 3 Tiempo Límite: 50 Minutos

Requerimientos: Asterisk instalado y corriendo. X-Lite Soft Phone, teléfono Lynksys SPA921

1/6

Page 29: 77565576 Lab Oratorios Asterisk

Lab 3- Asterisk training

Objetivo del laboratorio

Adicionar un Nuevo contexto implementando un “menú IVR” básico, (Operadora automática). Este

laboratorio cubre el concepto básico de un IVR. En los próximos laboratorios se construirán

aplicaciones de dialplan adicionales.

Adicionando un Nuevo contexto:

Abra una terminal en su sistema linux, vaya al directorio /etc/asterisk y abra en archivo

extensions.conf. Después del contexto default agregue lo siguiente:

[menu]

exten => s,1,Answer()

exten => s,n,Wait(1)

exten => s,n,Background(press-1)

exten => s,n,Background(or)

exten => s,n,Background(press-2)

exten => s,n,WaitExten(3)

exten => 1,1,Playback(you-entered)

exten => 1,n,Playback(digits/1)

exten => 1,n,Goto(s,1)

exten => 2,1,Playback(you-entered)

exten => 2,n,Playback(digits/2)

exten => 2,n,Goto(s,1)

exten => h,1,NoOp(Shucks, they hung up!)

exten => t,1,Playback(too-low)

exten => t,n,Hangup()

exten => i,1,Playback(pbx-invalid)

exten => i,n,Hangup()

Ahora necesita un camino para recibir llamadas dentro del nuevo contexto [menu]. (Tenga presente

que todas las llamadas desde sus teléfonos van al contexto default). Por lo tanto adicione otra

extensión en el contexto default que llame el contexto menú:

exten => 124,1,Goto(menu,s,1)

2/6

Page 30: 77565576 Lab Oratorios Asterisk

Lab 3- Asterisk training

Guarde su archivo extensions.conf .

Ahora ejecute un extensions reload en el asterisk CLI para recargar la configuración de las

extensiones:

# asterisk -r

CLI> extensions reload

Ahora valide que las nuevas extensiones hayan sido cargadas usando el comando “show dialplan”:

CLI> show dialplan 124@default

CLI> show dialplan s@menu

3/6

Page 31: 77565576 Lab Oratorios Asterisk

Lab 3- Asterisk training

Ahora desde alguno de sus teléfonos marque la extension 124 y escuchará un sonido que dice:

“Press 1 or press 2.” ..Pruebelo.

Resumen:

Usted aprendió lo siguente:

1. Como usar un Goto para saltar a otro dialplan.

2. Como usar el Background y el WaitExten para pedir digitos.

3. Como implementar las extensiones s, i y h.

4/6

Page 32: 77565576 Lab Oratorios Asterisk

Lab 3- Asterisk training

Objetivo del laboratorio

Adicionar un Voicemail a dos extensiones existentes y adicionar una extensión para “consultar el

voicemail”

Creando buzones de correo de voz: Edite el archivo de configuración del voicemail (/etc/asterisk/voicemail.conf) y adicione dos

mailboxes para cada una de las dos extensiones. Vaya al contexto [default]:

[default]

; Define maximum number of messages per folder for partcular context.

;maxmsg=50

101 => 5555,Your Name,[email protected] ;modifique deacuerdo a sus cuentas de correo

102 => 9999,John Doe,[email protected]

Guarde los cambios. No es necesario recargar asterisk para guardar los cambios del voicemail.conf

debido a que la aplicación voicemail se recarga cada vez que VoiceMail o VoiceMailMain son

ejecutados.

Adicionando los buzones de correo a las cuentas SIP

Usted debe adicionar un buzón de voz ya sea para una cuenta SIP, IAX, H323 etc. Para hacer

esto, abra el archivo sip.conf y altere las cuentas de la siguiente forma:

[xxx_xlite] ; (Ponga sus iniciales en lugar de xxx). type = friend host = dynamic secret = xlite context = default mailbox = 101@default [xxx_linksys] ; (Ponga sus iniciales en lugar de xxx). type = friend host = dynamic secret = linksys context = default mailbox = 102@default

5/6

Page 33: 77565576 Lab Oratorios Asterisk

Lab 3- Asterisk training

Guarde los cambios, entre al asterisk CLI y ejecute un sip reload. Los cambios en las cuentas SIP

no se toman inmediatamente si sus dispositivos están registrados. Para forzar los cambios use el

comando restart.

Adicionando el buzon de voz al Dial Plan

Ahora usted está listo para adicionar el voicemail a sus extensiones. Edite el archivo

extensions.conf y altere sus dos extensiones de la siguiente manera:

[default]

exten => 101,1,Dial(SIP/xxx_xlite|20)

exten => 101,n,VoiceMail(101@default)

exten => 102,1,Dial(SIP/xxx_linksys|20)

exten => 102,n,VoiceMail(102@default)

También adicione la siguiente extensión para revisar el voicemail:

exten => 222,1,Answer()

exten => 222,2,VoiceMailMain()

Ahora guarde el archivo y ejecute un extensions reload en el Asterisk CLI. Marque alguna

extensión, espere 20 segundos y podrá dejar un correo de voz. Ahora puede revisar su correo de

voz digitando la extensión 222.

Resumen:

Usted aprendió lo siguiente:

1. Como adicionar un buzón de voz a el archive voicemail.conf

2. Como asociar cuentas SIP con mailboxes.

3. Como adicionar un dialplan básico para el voicemail.

4. Como crear una extensión para revisar el voicemail.

6/6

Page 34: 77565576 Lab Oratorios Asterisk

Lab4-1 Asterisk training

Asterisk Training Lab

Pattern Matching

Laboratorio 4-1 Tiempo Límite: 10 Minutos

Requerimientos: Asterisk instalado y corriendo. X-Lite Soft Phone, teléfono Linksys spa 921

1/3

Page 35: 77565576 Lab Oratorios Asterisk

Lab4-1 Asterisk training

Objetivo del laboratorio Adicionar un Nuevo contexto implementando un “menú IVR” básico, (Operadora automática). Este

laboratorio cubre el concepto básico de un IVR. En los próximos laboratorios se construirán

aplicaciones de dialplan adicionales.

Menú con Pattern Matching Abra una terminal en su sistema linux, vaya al directorio /etc/asterisk y abra en archivo

extensions.conf. Después del contexto default agregue lo siguiente:

[menu1]

exten => s,1,Answer()

exten => s,n,Wait(1)

exten => s,n,Background(press-1)

exten => s,n,Background(or)

exten => s,n,Background(press-2)

exten => s,n,WaitExten(3)

exten => _[1-2],1,Playback(you-entered)

exten => _[1-2],n,Playback(digits/${EXTEN})

exten => _[1-2],n,Goto(s,1)

exten => h,1,NoOp(Shucks, they hung up!)

exten => t,1,Playback(too-low)

exten => t,n,Hangup()

exten => i,1,Playback(pbx-invalid)

exten => i,n,Hangup()

Cree la extension 125 para llamar el menu1 en el contexto [default] en extensions.conf

exten => 125,1,Goto(menu,s,1)

Guarde los cambios y desde alguno de sus teléfonos marque la extensión 125 y escuchará un

sonido que dice:

“Press 1 or press 2.” ..Pruebelo.

(Usted no notara la diferencia con el menú anterior al marcar los digitos uno o dos)

2/3

Page 36: 77565576 Lab Oratorios Asterisk

Lab4-1 Asterisk training

Resumen: Usted aprendio los siguiente:

• Como usar un pattern matching para un grupo limitado de extensiones.

3/3

Page 37: 77565576 Lab Oratorios Asterisk

Lab4-2 Asterisk training

Asterisk Training Lab

Control de acceso a los contextos con Include

Laboratorio 4-2 Tiempo Límite: 15 Minutos

Requerimientos: Asterisk instalado y corriendo. X-Lite Soft Phone, teléfono Linksys spa 921

1/3

Page 38: 77565576 Lab Oratorios Asterisk

Lab4-2 Asterisk training

Objetivo del laboratorio Separar su dial plan en contextos para controlar cuales teléfonos son accesibles a cuales

características.

Creando contextos

En extensions.conf, cree el siguiente contexto:

[features]

exten => 223,1,Answer

exten => 223,n,Wait(1)

exten => 223,n,VoicemailMain()

[local]

exten => _NXXNXXX,1,Noop(Marcando local)

[longdistance]

exten => _1NXXNXXXXXX,1,Noop(Marcando larga distancia)

exten => _011.,1,Noop(Marcando larga distancia)

include => local

Incluir estos contextos en el contexto [default] así:

[default]

include => features

include => longdistance

include => local

Enviando llamadas a estos nuevos contextos

En sip.conf, cambie la configuración de su teléfono Linksys del contexto “default” a

“longdistance”.

Cambie el contexto de su teléfono X-Lite de “default” a “local”.

2/3

Page 39: 77565576 Lab Oratorios Asterisk

Lab4-2 Asterisk training

Cambio de patrones de marcado Dependiendo de los diversos usos que le de a su PBX usted puede querer excluir ciertos patrones

en sus contextos local y longdistance. Cree un patrón en su contexto local que excluya los

números 976. Cree un patrón similar en el contexto longdistance que excluya los números 900.

Resumen: Usted aprendió lo siguiente:

1. Como usar un include para incluir un contexto en otro.

2. Como usar contextos y el context= directive (en los archivos de configuración de canales) para

limitar quien accede a que.

3/3

Page 40: 77565576 Lab Oratorios Asterisk

Lab4-3 Asterisk training

Asterisk Training Lab

Adicionando carácteristicas y aplicaciones Laboratorio 4-3 Tiempo Límite: 10 Minutos

Requerimientos: Asterisk instalado y corriendo. X-Lite Soft Phone, teléfono Linksys spa 921

1/3

Page 41: 77565576 Lab Oratorios Asterisk

Lab4-3 Asterisk training

Objetivo del laboratorio Adicionar las aplicaciones parking, pickup, MeetMe conferencing, directory y music on hold en el

contexto [features].

Creando contextos En extensions.conf, edite el contexto [features] de la siguiente manera:

[features]

exten => 223,1,Answer

exten => 223,n,Wait(1)

exten => 223,n,VoicemailMain()

; Cree una conferencia MeetMe

exten => 230,1,Answer()

exten => 230,n,Wait(1)

exten => 230,n,MeetMe(100)

; Escuche música en espera

exten => 231,1,Answer()

exten => 231,n,Wait(1)

exten => 231,n,MusicOnHold()

; Acceda al directorio de la compañía

exten => 232,1,Answer()

exten => 232,n,Wait(1)

exten => 232,n,Directory()

include => parkedcalls

Edite meetme.conf (/etc/asterisk/meetme.conf) y agregue un meetme:

conf => 100

2/3

Page 42: 77565576 Lab Oratorios Asterisk

Lab4-3 Asterisk training

Resumen: Usted aprendió lo siguiente:

1. Como usar nuevas aplicaciones.

3/3

Page 43: 77565576 Lab Oratorios Asterisk

Lab5-1 Asterisk training

Asterisk Training miniLab

Voip

Lab 5-1 Tiempo Limite: 20 Minutes

Requerimientos: Asterisk instalado y corriendo. Soft Phone X-Lite, telefono Linksys SPA921

1/2

Page 44: 77565576 Lab Oratorios Asterisk

Lab5-1 Asterisk training

Objetivo del Laboratorio

Practicar la configuración y setup para un soft phone iax

Trabajar en la instalación de aplicaciones bajo Linux, revisar el

conocimiento adquirido

Tareas

Usted deberá buscar un softphone iax soft phone en la web,

descargarlo e instalarlo.

Configurar su soft phone como una extension de su pbx

Probar la interconectividad entre el sip soft phone, hard sip phone y el

soft phone iax

Configure el softphone de su compañero de laboratorio en su planta y

pruebe su operación

2/2

Page 45: 77565576 Lab Oratorios Asterisk

Lab5-2 Asterisk training

Asterisk Training Lab

Connexion Voip:SIP

Lab 5-2 Tiempo Límite: 60 Minutos

Requerimientos: Asterisk instalado y corriendo. Soft Phone X-Lite, teléfono Linksys SPA921, Mucha paciencia.

1/4

Page 46: 77565576 Lab Oratorios Asterisk

Lab5-2 Asterisk training

Objetivo Interconectar 2 plantas asterisk empleando el protocolo SIP, creando

troncales.

Se debe seleccionar quien va a operar como pbx 1 y quien como pbx

2, 1 y 2 son los códigos de identificación de la pbx

Adicionando una cuenta con el Service Provider Edite su archivo sip.conf. Adicione la siguiente configuracion

[MILLECALL]

username=MILLECALL

type=friend

secret=MILLECALL

qualify=yes

insecure=very

host=192.168.155.X ;ip maquina a conectar

fromuser=MILLECALL

fromdomain=192.168.155.X ;ip maquina a conectar

authuser=MILLECALL

context=default

allow=gsm

dtmfmode=rfc2833

trunk=yes

canreinvite=yes

Salve los cambios sip.conf.

2/4

Page 47: 77565576 Lab Oratorios Asterisk

Lab5-2 Asterisk training

OJO SE DEBE REEMPLAZAR EL NUMERAL # (POR EL ID DE PBX DE SU

COMPAÑERO), ESTE NO ES UN PARAMETRO DE CONFIGURACION DEL

DIALPLAN, ES EL CODIGO ESCOGIDO PREVIAMENTE

OJO SE DEBE REEMPLAZAR EL @ (POR EL PROPIO ID) ESCOGIDO

PREVIAMENTE, ESTE NO ES UN PARAMETRO DE CONFIGURACION DEL

DIALPLAN, ES EL CODIGO ESCOGIDO PREVIAMENTE

Abra y edite extensions.conf y adicione las siguientes lineas a su

contexto default

-------------------------------------------------------------------------------

extensions.conf

[default]

exten => _9#XXX,1,Dial(SIP/MILLECALL/${EXTEN},30,rtT)

exten => _9#XXX,2,Congestion

exten => _9#XXX,102,Congestion

exten => _9@200,1,Playback(demo-congrats)

exten => _9@XXX,1,Answer

exten => _9@XXX,2,Goto(${EXTEN:2},1)

exten => _9@XXX,3,Hangup

Guarde los cambios en su archivo y cierrelo

Para validar si todo está trabajando correctamente en una consola

linux digite:

root#asterisk –rx “sip show peers”

Name/username Host Dyn Nat ACL Port Status

MILLECALL/MILLECALL 192.168.155.X 5060 OK(1 ms)

3/4

Page 48: 77565576 Lab Oratorios Asterisk

Lab5-2 Asterisk training

Para probar la troncal, desde el hard o soft phone se deberá marcar

9#200 y debería escuchar el mensaje de saludo de la pbx remota o

9#101 o 9#102 y debería poder conectarse con los teléfonos de la pbx

con quien se tiene la troncal

Resumen:

Usted aprendió lo siguiente:

1. Configurar una troncal SIP.

2. Como en contradicción a lo que se había aprendido, la pbx puede

usar un solo peer para múltiples comunicaciones y enviar y recibir

llamadas desde la misma

3. Como verificar el estado de una troncal a través de la interfaz de

comandos CLI.

4/4

Page 49: 77565576 Lab Oratorios Asterisk

Lab5-3 Asterisk training

Asterisk Training Lab

Interconexion Voip:IAX2

Lab 5-3 Tiempo Límite: 60 Minutos

Requerimientos: Asterisk instalado y corriendo. Soft Phone X-Lite, teléfono Linksys SPA921, Mucha paciencia.

1/4

Page 50: 77565576 Lab Oratorios Asterisk

Lab5-3 Asterisk training

Objetivo Hacer que asterisk se interconecten 2 plantas empleando el

protocolo IAX2 trabajando como un sistema “service

provider”.

Se debe seleccionar quien va a operar como pbx 1 y quien

como pbx 2, 1 y 2 son los códigos de identificación de la pbx

Adicionando una cuenta IAX2 Como se va a trabajar con un compañero para tener

comunicación bidireccional, las configuraciones se deben

hacer en las 2 maquinas para que el laboratorio funcione

correctamente

Edite su archivo iax.conf. Vaya al final del archivo y adicione

un peer iax la cual recibirá el tráfico de las llamadas

entrantes

2/4

Page 51: 77565576 Lab Oratorios Asterisk

Lab5-3 Asterisk training

(iax.conf)

---------------------------------------------------------------

[REC_SERVER]

type=user

host=ip vecino ;ip de donde recibo las llamadas

secret=mysecret

context=default

trunk=yes

-----------------------------------------------------------

Guardar los cambios y cerrar el archivo

OJO SE DEBE REEMPLAZAR EL NUMERAL # (POR EL ID DE PBX DE SU

COMPAÑERO), ESTE NO ES UN PARAMETRO DE CONFIGURACION DEL

DIALPLAN, ES EL CODIGO ESCOGIDO PREVIAMENTE

OJO SE DEBE REEMPLAZAR EL @ (POR EL PROPIO ID) ESCOGIDO

PREVIAMENTE, ESTE NO ES UN PARAMETRO DE CONFIGURACION DEL

DIALPLAN, ES EL CODIGO ESCOGIDO PREVIAMENTE

Editar el archivo de extensions.conf bajo el contexto default

extensions.conf

---------------------------------------------------------------------

exten => _5#XXX,1,Dial(IAX2/REC_SERVER:mysecret@ip

vecino /${EXTEN}@default)

exten => _5#XXX,2,Hangup

exten => _5#XXX,102,Hangup

exten => _5@200,1,Playback(demo-congrats)

3/4

Page 52: 77565576 Lab Oratorios Asterisk

Lab5-3 Asterisk training

exten => _5@XXX,1,Answer

exten => _5@XXX,2,Goto(${EXTEN:2},1)

exten => _5@XXX,3,Hangup

Guarde los cambios y cierre el archivo

No olvide dar reload a la pbx para que esta tome los cambios

Haciendo esta configuración en las dos plantas, teniendo en

cuenta las ligeras diferencias, usted será capaz de emplear

la troncal de modo bidireccional.

Para probar el correcto funcionamiento, marque desde

alguno de sus equipos 5#200 y debería escuchar el mensaje de

saludo de la pbx remota o 5#101 o 5#102 y debería poder conectarse

con los teléfonos de la pbx con quien se tiene la troncal

Puede emplear el manejo de patrones para ampliar las

cadenas a analizar (7 and 10 números) sobre su nuevo enlace

IAX2.

Resumen:

Usted aprendio a:

1. Configurar una cuenta IAX2.

2. Enviar trafico a través de una troncal IAX2

3. Concatenar las lógicas del dial plan

4/4

Page 53: 77565576 Lab Oratorios Asterisk

Asterisk Training Lab

Instalando una tarjeta con 1 puerto fxo

Tiempo Limite:

30 Minutos

Requerimientos:

Asterisk instalado y corriendo. X-Lite Soft Phone, teléfono Linksys spa 921

Page 54: 77565576 Lab Oratorios Asterisk

Apague el servidor e instale la tarjeta.

Abra una terminal en su sistema Linux y detenga asterisk:

Para ver si la tarjeta fue detectada por el sistema operativo en el puerto pci digite el comando lspci:

Verá lo siguiente:

Para que ver que la tarjeta tenga su propia interrupción digite:

more /proc/insterrupts

Vera lo siguiente:

Page 55: 77565576 Lab Oratorios Asterisk

Los archivos de configuración de la tarjeta se encuentran en /etc/dahdi:

El archivo init.conf sirve para configurar tiempos y parámetros de carga de las tarjetas.

El archivo modules es para determinar que módulos va a cargar según la tarjeta.

El archivo system.conf as la misma estructura del anterior zaptel.conf en donde se configuran los puertos de la tarjeta.

Edite el archivo system.conf y modifique o agregue los siguientes parámetros:

/etc/dahdi/system.conf

fxsks=1

loadzone=us

defaultzone=us

Para ver que la tarjeta este configurada correctamente digite:

#dahdi_cfg -vvvvv

Verá lo siguiente:

Page 56: 77565576 Lab Oratorios Asterisk

Edite el archivo chan_dahdi.conf (/etc/asterisk/chan_dahdi.conf) y agregue o modifique los siguientes parámetros:

signalling=fxo_ks

inmediate=yes

channel => 1

echocancel=off

Reinicie el servicio dahdi para guardar los cambios:

service dahdi start

Page 57: 77565576 Lab Oratorios Asterisk

RECUERDE QUE SI EL ARCHIVO system.conf ESTA MAL CONFIGURADO TENDRA EL SIGUIENTE RESULTADO:

Para verificar la configuración de la tarjeta digite el comando dahdi_tool:

Verá lo siguiente:

Page 58: 77565576 Lab Oratorios Asterisk

Si la configuración está bien suba el servicio de asterisk de nuevo:

Asterisk –vvvvvvvvcg

Para verificar si está configurada correctamente la tarjeta digite el comando dahdi show channels en el CLI de asterisk:

Page 59: 77565576 Lab Oratorios Asterisk

NOTA: Cuando se conecta un línea telefónica a la tarjeta al digitar el comando dahdi_tool nos aparece en OK de la siguiente manera:

Edite el archivo extensions.conf y agregue lo siguiente en el contexto [default]

exten => s,1,Answer()

exten => s,n,Playback(demo-thanks)

exten => s,n,Hangup

Para las llamadas salientes:

exten => _9031XXXXXXX,1,Dial(DAHDI/1/${EXTEN:1}) ; llamada local

exten => _9031XXXXXXX,2,Hangup

exten => _93ZXXXXXXXX,1,Dial(DAHDI/1/${EXTEN:1}) ; llamada celular

exten => _93ZXXXXXXXX,2,Hangup

Guarde el archivo y recargue la configuración de las extensiones con el comando extensions reload. Pruebe desde alguno de sus teléfonos una llamada a celular.

Page 60: 77565576 Lab Oratorios Asterisk

A continuación verá la tabla de comparación entre zaptel y dahdi: ztcfg -> dahdi_cfg ztmonitor -> dahdi_monitor ztscan -> dahdi_scan ztspeed -> dahdi_speed zttest -> dahdi_test zttool -> dahdi_tool zapconf -> dahdi_genconf (genzaptelconf deprecado)

Si desea más información de cómo se configura dahdi visite:

http://bytecoders.homelinux.com/content/el-paso-de-zaptel-dadhi.html

Page 61: 77565576 Lab Oratorios Asterisk

Lab7 Asterisk training

Asterisk Training Lab

Construyendo un call center simple Laboratorio 7 Tiempo Limite: 15 Minutos

Requirements: Asterisk instalado y corriendo. X-Lite Soft Phone, teléfono Linksys spa 921

1/3

Page 62: 77565576 Lab Oratorios Asterisk

Lab7 Asterisk training

Objetivo del laboratorio Crear colas de “Ventas” y “Soporte a clientes” para su compañía. Modificar su Operadora

automática para llamar a esas dos colas. Configurar agentes y miembros de la cola.

Creando sus colas: Edite el archivo queues.conf. Cree las dos nuevas colas de la siguiente manera:

[ventas]

musiconhold = default

announce = queue-sales

strategy = ringall

announce-holdtime = yes

member => IAX/yyy

member => SIP/xxx_linksys

member => Agent/2000

[soporte]

musiconhold = default

announce = queue-support

strategy = leastrecent

announce-holdtime = yes

member => IAX/25

member => Agent/2001

Guarde loa cambios. Ahora edite el archivo agents.conf .Al final del archivo agregue el agente

2000:

agent => 2000,9999,su nombre

agent => 2001,9999,otro nombre

Guarde los cambios. Si usted quiere puede grabar los archivos “queue-sales” y “queue-support”.

También puede re grabar su saludo day_menu para ofrecer sus ventas y soporte técnico.

Agregue una extensión para enrutar las llamadas hacía cola en el contexto default:

Exten => 5,1,Queue(ventas)

Exten => 6,1,Queue(soporte)

2/3

Page 63: 77565576 Lab Oratorios Asterisk

Lab7 Asterisk training

Ahora agregue una extensión en el contexto [features] para que los agentes se logueen:

[features]

exten => 255,1,AgentLogin()

exten => 256,1,AgentCallbackLogin(||default)

Guarde su dial plan. Una vez usted tenga sus mensajes grabados, trate de entrar a una cola

marcando las extensiones 5 o 6. También trate de loguearse usando las extensiones AgentLogin y

AgentCallbackLogin. (255 ó 256).

Resumen: Usted aprendió:

1. Como configurar llamadas a colas, miembros de la cola y agentes.

2. Como configurar las aplicaciones AgentLogin y AgentCallbackLogin.

3/3

Page 64: 77565576 Lab Oratorios Asterisk

Lab8 Asterisk training

Asterisk Training Lab

Astersik AGI

Laboratorio 8 Tiempo Límite: 20 Minutos

Requerimientos: Asterisk instalado y corriendo. X-Lite Soft Phone, teléfono Linksys spa 921

1/3

Page 65: 77565576 Lab Oratorios Asterisk

Lab8 Asterisk training

Objetivo del laboratorio Aprender el manejo de herramientas para crear soluciones con AGI’s simples.

Construyendo un AGI Abra una terminal en su sistema linux, vaya al directorio /var/lib/astersik/agi-bin y cree un archivo

llamado number.c y adicione lo siguiente:

#include <stdio.h> main() { char line[80]; /* use line buffering */ setlinebuf(stdout); setlinebuf(stderr); /* read and ignore AGI environment */ while (1) { fgets(line,80,stdin); if (strlen(line) <= 1) break; } /* Send asterisk a command */ printf("SAY NUMBER 123 \"\"\n"); /* Read response from Asterisk and show on console */ fgets(line,80,stdin); fputs(line,stderr); } Después de esto usted puede compilar el programa en una terminal digitando:

root#gcc number.c –o numero.agi

2/3

Page 66: 77565576 Lab Oratorios Asterisk

Lab8 Asterisk training

Se creará un archivo llamado numero.agi, ahora puede probar su funcionamiento digitando:

root#./numero.agi

Para finalizar la prueba digite ctrl + c

Vaya a /etc/asterisk y en el contexto default agregue lo siguiente:

exten => 9990,1,Answer

exten => 9990,2,Agi(numero.agi)

exten => 9990,3,Hangup

Pruébelo marcando la extensión 9990 desde alguno de sus teléfonos, escuchará los números del 1

al 3.

Usted puede hacer pruebas cambiando el código fuente, luego recompílelo y pruebe de nuevo.

Resumen: Usted aprendió lo siguiente:

1. Como programar un agi simple basado en el lenguaje C.

2. Como llamarlo con el dial plan.

3. Probar comandos agi.

3/3

Page 67: 77565576 Lab Oratorios Asterisk

 

Asterisk Training Lab  

 

IVR Consulta a Base de Datos 

 

Laboratorio 6.2 

 

Tiempo Límite: 30 Minutos 

Requerimientos:  

Estación Linux instalada, con conexión a la red del instructor, teléfono registrado en la planta. Bases IVR 

1    

Page 68: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

2 | P a g e   

 

Objetivo del Laboratorio Desarrollar un sistema de audio respuesta con acceso a base de datos Mysql conocer el

comando MYSQL

1. Verificar que este corriendo la interfaz de administración de la pbx Webmin

2. Montaje de una pequeña base de datos.

3. Configurar el comando MYSQL para realizar la inter conectividad con la Base de

datos.

4. Integrar los conocimientos adquiridos a la fecha en un caso real.

5. Emplear los comandos de lenguaje para customizar la Pbx

Paso 1: Loguearse en el sistema Se deberá loguear como usuario root con la clave asterisk.

1. Si su estación está apagada enciéndala.

2. En la ventana de login de CentOS, ubicada en el centro de la pantalla entre el nombre

de usuario (username).

root

3. Después de digitar Enter se le preguntara por el password, digite:

asterisk

4. Debería estar ahora en el entorno de GNOME o KDE según haya sido instalado su

sistema.

Page 69: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

3 | P a g e   

Paso 2: Verificar que este corriendo el administrador de Linux y la Base de datos Para validar que se esté corriendo la instancia de Webmin desde una interfaz de

comandos se debe digitar.

El numero nos indica el pid del servicio que se esta corriendo, si no esta corriendo, se

deberá digitar

# service webmin start

Una vez validado el administrador se deberá verificar si la base de datos esta corriendo

Como la Base de datos esta abajo, esta se deberá subir con el comando

# service mysqld start

Page 70: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

4 | P a g e   

Adicionalmente se debe validar si se tiene compilada la aplicación Mysql, por lo cual

desde la interfaz cli se digita

Si esto no aparece, la aplicación no fue seleccionada para la compilación o no ha sido

cargada, si no está compilada se deberá recompilar la pbx

Page 71: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

5 | P a g e   

Una vez verificado lo anterior en browser entramos a la dirección

http://ip-asterisk:10000

Con lo cual deberá aparecer una ventana de registro de la siguiente forma

En Username se digita root en Password asterisk, al registrarse exitosamente en el sistema aparecerá una pantalla como la siguiente

En la parte izquierda nos ubicamos en Servers y allí en Mysql database server, con lo cual deberá aparecer una interfaz como la que se muestra a continuación

Page 72: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

6 | P a g e   

Paso 3: Montaje de la Base de datos

Una vez ubicados aquí damos clic en create database y se le da el nombre de banco,

con lo cual deberá aparecer en el directorio de bases de datos así:

Una vez seleccionada esta base de datos, se deberá crear una tabla que se llame “saldos” con la siguiente estructura

Page 73: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

7 | P a g e   

Una vez creada la tabla, procedemos a introducir datos de prueba, por el manejador, empleando

Tabla -> view data -> Add Row

Un ejemplo de datos del sistema seria asi:

Una vez tenemos creada la estructura de datos, se le debe dar acceso a los usuarios del sistema así:

En la pagina principal se selecciona la pestaña de Global options

En User Permissions -> Create new user

Page 74: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

8 | P a g e   

El Password se deja en ivrclave y se seleccionan todos los Permisos.

Luego en database Permissions de Global Options, se selecciona Database Permissions y se crea un nuevo permiso para la base de datos que acabamos de crear

NOTA: Es importante dejar todas las opciones tal cual están en las interfaces de ejemplo, si presenta fallas en el laboratorio, primero revisar que todo este correcto

Si todo ha sido correcto, deberá aparecer una ventana como la siguiente

Para garantizar el acceso a la base de datos, en una interfaz de SQL, se debe digitar

SQL> GRANT ALL ON banco.* TO 'ivruser'@'localhost' IDENTIFIED BY 'ivrclave';

SQL>flush privileges

Page 75: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

9 | P a g e   

Paso 4:Generar el código de acceso en la PBX. En una ventana de terminal (Applications -> System Tools -> Terminal) nos ubicamos

en el directorio de configuración de asterisk

#cd /etc/asterisk En extensions.conf se adiciona el siguiente conexto ; [bancontext] ; exten => s,1,Set(CHANNEL(language)=es) exten => s,2,Background(fondo/pide-id) exten => s,3,WaitExten(4) ; exten => _X.,1,MYSQL(Connect connid localhost ivruser ivrclave banco) exten => _X.,2,MYSQL(Query resultid ${connid} SELECT\ saldo \ from\ saldos \ where\ cuenta=${EXTEN}) exten => _X.,3,MYSQL(Fetch fetchid ${resultid} AGIScript) exten => _X.,4,NoOp(Respuesta [${AGIScript}] ) exten => _X.,5,GotoIf($[“${AGIScript}” = “”]?6:8) exten => _X.,6,Playback(fondo/sorry) exten => _X.,7,Hangup exten => _X.,8,Playback(fondo/su-credito) exten => _X.,9,SayNumber(${AGIScript}) exten => _X.,10,Playback(fondo/pesos) exten => _X.,11,MYSQL(Clear ${resultid}) exten => _X.,12,MYSQL(Disconnect ${connid}) exten => _X.,13,Hangup ; exten => i,1,Goto(s,2) exten => t,1,Goto(s,2) ;

Page 76: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

10 | P a g e   

Adicionalmente, bajo en contexto que este operando el teléfono, se debe crear una extensión de disparo de la funcionalidad, asi: Si el teléfono esrta en el conetxto default ; [default] ; ; By default we include the demo. In a production system, you ; probably don't want to have the demo there. ; include => demo ; exten => 7000,1,Goto(bancontext,s,1) ; Una vez realizados los ajustes en los archivos de configuración, se derea digitar en la inetrfaz de comandos *CLI> reload o *CLI> extensions reload

Paso 5: Preparar los audios del IVR PBX. Como se vio anteriormente empleando la aplicación record, se deberán crear los archivos

pide-id => “por favor digite su numero de cuenta …..”

sorry => “lo sentimos pero su transacción no puede ser procesada en este momento, por favor intente mas tarde”

su-credito => “El saldo de su cuenta es …..”

pesos => “pesos”

Estos archivos deberán dejarse en

/var/lib/asterisk/sounds/fondo

Page 77: 77565576 Lab Oratorios Asterisk

Lab 1- Asterisk training  

11 | P a g e   

Paso 6: Probar el sistema

1. Desde su teléfono digite 7000

2. Después de preguntar el numero de la cuenta, digite 1234

3. Al cabo de unos segundos el sistema deberá decir:

a. El saldo de su cuenta es ….

b. 16 millones 500 mil 800 cientos

c. Pesos

4. Después la llamada se colgara

5. Si no se encuentra información para la cuenta digitada, se escuchara el mensaje

grabado de error

Paso 7: Retos

1. Permita que las cuentas estén fijas a 5 números, si no es así indíquelo con un

mensaje

2. Introduzca centavos en los saldos y dígalos en el audio

3. Adicione el parámetro adicional de clave para las validaciones

4. Realice las validaciones consistentes deacuerdo al tipo de producto, ejemplo

a. No digito el numero de cuenta

b. Intento claves diferentes mas de 3 veces

c. Use su imaginación …..

Page 78: 77565576 Lab Oratorios Asterisk

PROCESO DE INSTALACION FREEPBX 1. Instale las dependencias adicionales: yum install e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear php-pear-DB php-gd php-mysql php-pdo kernel-devel ncurses-devel audiofile-devel libogg-devel openssl-devel mysql-devel zlib-devel perl-DateManip sendmail-cf cd /usr/src wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz tar zxvf lame-3.97.tar.gz cd lame-3.97 ./configure make make install 6. Instale Asterisk y FreePBX: cd /usr/src NOTA: DESCARGUE LOS FUENTES DE asterisk.org wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz

Page 79: 77565576 Lab Oratorios Asterisk

wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar... wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz wget http://easynews.dl.sourceforge.net/sourceforge/amportal/freepbx-2.3.1.ta... tar zxvf asterisk-1.4-current.tar.gz tar zxvf asterisk-addons-1.4-current.tar.gz tar zxvf dahdi-linux.tar.gz tar zxvf dahdi-tools.tar.gz tar zxvf libpri-1.4-current.tar.gz tar zxvf freepbx-2.4.1.tar.gz cd /usr/src/dahdi-linux-current make clean make make install make config cd /usr/src/dahdi-tools-current make clean ./configure

Page 80: 77565576 Lab Oratorios Asterisk

make make install make config cd /usr/src/libpri-1.4-current ./configure make make install cd /usr/src/asterisk-1.4-current useradd -c "Asterisk PBX" -d /var/lib/asterisk asterisk mkdir /var/run/asterisk mkdir /var/log/asterisk chown -R asterisk:asterisk /var/run/asterisk chown -R asterisk:asterisk /var/log/asterisk chown -R asterisk:asterisk /var/lib/php/session/ nano +231 /etc/httpd/conf/httpd.conf Change User apache and Group apache to User asterisk and Group asterisk. Ctrl-X to save, 'Y' to confirm

Page 81: 77565576 Lab Oratorios Asterisk

nano +329 /etc/httpd/conf/httpd.conf Change AllowOverride None to AllowOverride All Ctrl-X to save, 'Y' to confirm ./configure make make install /etc/init.d/mysqld start cd /usr/src/freepbx-2.4.1 mysqladmin create asterisk mysqladmin create asteriskcdrdb mysql asterisk < SQL/newinstall.sql mysql asteriskcdrdb < SQL/cdr_mysql_table.sql Digite el comando: mysql mysql>GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'SOMEPASSWORD'; mysql>GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'SOMEPASSWORD'; mysql>flush privileges;

Page 82: 77565576 Lab Oratorios Asterisk

mysql> exit #mysqladmin -u root password 'SOMEPASSWORD' #cd /usr/src/asterisk-addons ./configure make make install Instalación de freepbx modifique el archivo asterisk.conf cambie la linea: astrundir => /var/run/ por astrundir => /var/run/asterisk #cd /usr/src/freepbx-2.4 #./start_asterisk start #./install_amp --username=asteriskuser --password=SOMEPASSWORD

#amportal start

Page 83: 77565576 Lab Oratorios Asterisk

#echo "/usr/local/sbin/amportal start" >> /etc/rc.local #/etc/init.d/httpd start #chkconfig httpd on #chkconfig mysqld on Abra un browser to http://ipaddressofpbx/admin Click en la barra naranja en FreePBX