Вы находитесь на странице: 1из 11

Lab MySQL Asterisk training

INTELIX INGENIERIA
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   
 
Lab MySQL Asterisk training
 

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.

2 | P a g e  
 
Lab MySQL Asterisk training

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

3 | P a g e  
 
Lab MySQL Asterisk training

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

4 | P a g e  
 
Lab MySQL Asterisk training

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

5 | P a g e  
 
Lab MySQL Asterisk training

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

6 | P a g e  
 
Lab MySQL Asterisk training

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

7 | P a g e  
 
Lab MySQL Asterisk training
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

8 | P a g e  
 
Lab MySQL Asterisk training

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)
;

9 | P a g e  
 
Lab MySQL Asterisk training

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

10 | P a g e  
 
Lab MySQL Asterisk training

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 …..

11 | P a g e  
 

Вам также может понравиться