Академический Документы
Профессиональный Документы
Культура Документы
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
2 | P a g e
Lab MySQL Asterisk training
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
4 | P a g e
Lab MySQL Asterisk training
http://ip-asterisk:10000
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
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
Una vez tenemos creada la estructura de datos, se le debe dar acceso a los usuarios del
sistema así:
7 | P a g e
Lab MySQL Asterisk training
El Password se deja en ivrclave y se seleccionan todos los Permisos.
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
Para garantizar el acceso a la base de datos, en una interfaz de SQL, se debe digitar
SQL>flush privileges
8 | P a g e
Lab MySQL Asterisk training
#cd /etc/asterisk
;
[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
sorry => “lo sentimos pero su transacción no puede ser procesada en este momento,
por favor intente mas tarde”
/var/lib/asterisk/sounds/fondo
10 | P a g e
Lab MySQL Asterisk training
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