Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ups-St001037 PDF
Ups-St001037 PDF
SEDE QUITO
TEMA:
DISEO E IMPLEMENTACIN DE UN PROPOTOTIPO DE SISTEMA IVR
(INTERACTIVE VOICE RESPONSE), UTILIZANDO ASTERISK, PARA LA
UNIVERSIDAD POLITCNICA SALESIANA QUITO-CAMPUS SUR
AUTORA:
MARCIA FERNANDA SINCHIRE ARROBO
DIRECTOR:
GERMN ARVALO BERMEO
Adems declaro que los conceptos y anlisis desarrollados y las conclusiones del
presente trabajo son de exclusiva responsabilidad de la autora.
___________________________
Marcia Fernanda Sinchire Arrobo
CC: 1719762658
DEDICATORIA
Para Dios, por ser fuente de sabidura y de infinito amor; y para mis padres, por ser la
razn de mi existencia e inspiracin, cuyo apoyo incondicional ha sido para m el
pilar fundamental sobre el que hice realidad este sueo profesional.
AGRADECIMIENTO
Y a mis maestros, por ser el ente principal en este camino, en especial al Ingeniero
Germn Arvalo por brindarme su tiempo, apoyo y paciencia durante la ejecucin y
culminacin del presente trabajo.
NDICE
INTRODUCCIN ...................................................................................................... 1
CAPTULO 1 .............................................................................................................. 3
GENERALIDADES .................................................................................................... 3
1.1
Objetivos .......................................................................................................... 3
Asterisk............................................................................................................. 7
2.4
2.4.1
Funcionamiento ............................................................................................. 15
3.3
Telfonos IP .................................................................................................. 29
Cdecs .......................................................................................................... 31
CAPTULO 4 ............................................................................................................ 32
ESTUDIO Y DISEO DEL SISTEMA IVR PARA CAMPUS SUR DE LA
UNIVERSIDAD POLITCNICA SALESIANA QUITO ........................................ 32
4.1
Definicin del problema a resolver por medio del sistema IVR .................... 32
4.1.1 Problema......................................................................................................... 32
4.1.2 Alcances y limitaciones ................................................................................. 33
4.2
4.3.2.11
1.8.5 ............................................................................................................................ 56
4.3.2.12
4.3.7.1.2
4.3.7.1.3
4.3.7.1.4
4.3.7.2.2
4.3.7.2.3
4.3.7.2.4
4.3.8.2.2
CAPTULO 5 ............................................................................................................ 91
PRUEBAS Y ANLISIS DE RESULTADOS ......................................................... 91
5.1
6.2
6.3
NDICE DE FIGURAS
NDICE DE TABLAS
NDICE DE ANEXOS
RESUMEN
ABSTRACT
The idea of using IVR systems has increased considerably, because of companies
and institutions seek to improve its relationship with customers and reduce operating
costs. It is for this reason that this project provides to the Universidad Politcnica
Salesiana Quito-Campus Sur an IVR System prototype using Asterisk 1.8.5 and
Centos 6.2 operating system. The system allows the students be able to consult by
phone some academic and financial personal data. The prototype interacts with
databases, managed by MySQL and invoked from Asterisk using the programming
language PHP. Also, it were used VoIP and SIP for communication between the
server and the end device. This made possible the verification of the proper operation
of the prototype. This project concludes an estimation of the systems level of
acceptance from students. Such estimation provided a positive result so to warrant its
successful implementation if at any time the project is implemented in the UPS
production network.
INTRODUCCIN
Este mundo es cada vez ms competitivo, razn por la cual los sistemas telefnicos
digitales son indispensables en las empresas o entidades para brindar una mejor
atencin a los usuarios. Esta necesidad ha hecho popular el desarrollo de nuevas
aplicaciones que ya no requieren directamente de la intervencin de una persona,
sino que trabajan de manera autnoma.
Los sistemas IVR en estos ltimos tiempos tambin han hecho uso de otras
tecnologas como: Automatic Speech Recognition (ASR), Dual Tone Multi
Frequency (DTMF) y Text To Speech (TTS), las cuales le han otorgado al usuario
un mejor servicio.
Quito-Campus Sur. Para esto se har uso de los datos recopilados en el Anlisis de la
Situacin Actual de la Telefona IP y las necesidades de informacin de carcter
acadmico y financiero de los estudiantes de este Campus.
CAPTULO 1
GENERALIDADES
1.1 Objetivos
1.1.1 Objetivo general
CAPTULO 2
ANLISIS DEL ESTADO DEL ARTE DE LA TELEFONA IP
Su nombre se deriva de las siglas en ingls Voice over IP (Voz sobre Protocolo de
Internet), es el mtodo utilizado para transmitir llamadas telefnicas sobre una red
IP, en forma de paquetes de datos.
VoIP torna sencillas algunas tareas que seran complejas de realizar usando redes
telefnicas tradicionales. Sus principales funciones son:
Asterisk soporta los siguientes protocolos de VoIP: SIP, H.323, IAX, MGCP y SCCP
para controlar y gestionar las llamadas telefnicas.
2.1.2.2 H.323
2.2 Asterisk
Es una aplicacin distribuida bajo licencia GPL (General Public License) que
gestiona comunicaciones telefnicas tradicionales e IP (analgicas, digitales y
mviles) haciendo uso de los protocolos VoIP. Por ser OpenSource presenta grandes
ventajas al momento de desarrollar sistemas de comunicacin que requieren alta
calidad y versatilidad.
Fue creada por Mark Spencer de Digium en 1999, desde entonces varios
programadores han contribuido en la correccin de errores y perfeccionamiento de
las funcionalidades. Inicialmente fue desarrollada para correr bajo Linux, pero en la
actualidad se distribuye para otra clase de sistemas operativos como: Mac OS X,
Microsoft Windows, Solaris, etc.
Una PBX implementada con Asterisk brinda varios servicios de call center como
distribucin automtica de llamadas (ACD), buzn de voz, respuesta interactiva de
voz (IVR), enrutamiento de fax, conferencias, etc.
Una de las ventajas de Asterisk es que puede integrarse con otras tecnologas libres o
propietarias para brindar mejores servicios. Dado que para realizar llamadas a larga
distancia Asterisk utiliza Internet, reduce a cero los costos por concepto de
interconexin en las facturas telefnicas.
al e o
al i
ee
o tilla
DESCRIPCIN
/etc/asterisk/
/usr/lib/asterisk/modules/
/var/lib/asterisk/
/var/lib/asterisk/images/
/var/lib/sounds/
/var/spool/asterisk/
/var/spool/asterisk/outgoing/
/var/spool/asterisk/system/
/var/run/
/var/log/asterisk/
Fuente: (Corretg)
Los scripts AGI aaden funcionalidades extras a una central telefnica como:
consultas a bases de datos, encuestas, pagos entre otras, mediante diferentes
lenguajes de programacin como: PHP, Perl, C, etc.
Cabe citar que Asterisk entiende comando AGI y que por defecto busca los scripts en
la a peta /var/lib/asterisk/agi-bin/.
Los scripts AGI se comunican con Asterisk por medio de STDIN, STDOUT y
STDERR. Lo que significa que pueden ejecutarse desde la lnea de comandos.
Para que los scripts AGI sean ejecutables desde Asterisk, se deben cambiar los
permisos de cada uno como se indica en la Figura 3. (Gorrotxategi & Santamara,
2007)
10
Base de datos
Tabla 1
Columna 1
Tabla 2
Columna 2
Columna 3
Registros
Es semejante al modelo jerrquico, con la diferencia que en este cada nodo puede
tener ms de un padre. Una base de datos de red est conformada por una coleccin
de registros los cuales hacen uso de enlaces de red para conectarse entre s.
Una de las principales ventajas que ofrece este modelo es la facilidad de entender y
utilizar la informacin, adems no es importante la forma en la que se guardan los
atos. Tambin uenta on la op in
informacin.
2.3.2 MySQL
ee
o tilla
al e o
Para brindar mejores servicios los sistemas IVR asocian otras tecnologas como:
Re ono imiento e vo es un
sistema que reconoce espuestas simples omo si no, etc. y las acepta
como rdenes. (Luxortec Technologies, 2013)
Conve so Texto Vo
es un sistema que
14
2.4.1 Funcionamiento
De acuerdo a la complejidad los sistemas IVR se clasifican en: IVR como operador
automtico e IVR como gestor de base de datos.
EMPRESA/
ORGANIZACIN
DEPARTAMENTO
DE VENTAS
TELFONO
MENSAJE DE BIENVENIDA
EXTENSIONES
D. FINANCIERO 301
D. VENTAS 302
D. TCNICO 304
IVR
DEPARTAMENTO
TCNICO
15
COMPRAS
USUARIO
TELFONO
IVR
SERVIDOR DE
BASE DE DATOS
MENSAJE DE BIENVENIDA
Ingrese su CLAVE
Para COMPRAS marque 1
Para RESERVACIONES marque 2
16
RESERVACIONES
CAPTULO 3
ANLISIS DE LA SITUACIN ACTUAL DEL USO DE LA TELEFONA IP
EN CAMPUS SUR DE LA UNIVERSIDAD POLITCNICA SALESIANA
QUITO
Tambin utiliza dos routers que permite enrutar las llamadas a las diferentes
extensiones y dos gateways de VoIP uno para cada sede como se indica en la Figura
7.
17
TA:
o est
18
CNT (Kbps)
TELCONET(Kbps)
Sur
4096
6144
Kennedy
2048
2048
Cayambe
1000
1024
Latacunga
512
3.1.3 Telefona IP
VoIP utiliza los protocolos RTP, UDP e IP para el trasporte de llamadas, as como
tambin protocolos de sealizacin para el establecimiento y finalizacin de
llamadas.
Cuando los paquetes VoIP cruzan la red IP, estos son transportados mediante el
RealTime Transport Protocol (RTP) y RTP Control Protocol (RTCP) y utiliza User
Datagram Protocol (UDP) como protocolo de transporte. No utiliza TCP como
protocolo de trasporte debido a los acuses de recibo que enva, lo cual causa retrasos
significativos es la trasmisin de voz.
20
RTP utiliza mecanismos para la sincronizacin de las tramas de la voz como los
time-stamps y nmeros de secuencia. RTCP provee informacin de control la cual
est asociada al flujo de datos que permite conocer la calidad de la voz de las
llamadas. (Direccin Tcnica de Tecnologas de la Informacin de la Universidad
Politcnica Salesiana , 2013)
Direct Inward Dialing (DID) es un servicio ofrecido por las compaas telefnicas.
La compaa telefnica asigna un rango de nmeros asociados a una o ms lneas
telefnicas.
Las tarjetas BRI utilizadas en la red de la Sede Quito, las cuales soportan sesenta
llamadas telefnicas a la vez, son marca Cisco:
Serie 3962800.
Serie 3962900.
21
PLAN DE NUMERACIN
Quito
2XXX
Guayaquil
4XXX
Cuenca
1XXX
Plan de numeracin
Cayambe
25XX
Girn
Kennedy
24XX
Sur
23XX
Seleccin de rutas: Existen dos rutas que se pueden seleccionar para comunicarse
entre la sede Quito y la sede Cuenca, la primera utiliza la PSTN y la segunda la
red IP WAN, es decir existe redundancia y disponibilidad de lneas lo cual
garantiza la comunicacin.
22
La Universidad Politcnica Salesiana Campus Sur est conformada por seis bloques
A, B, C, E, F y H. Desde la Tabla 5 hasta la Tabla 10 se detalla por bloque la
extensin asignada a cada usuario. (Direccin Tcnica de Tecnologas de la
Informacin de la Universidad Politcnica Salesiana , 2013)
Usuario
Departamento
2300
Miriam Yazan
Recepcin
Bolivia Orellana
2341
Viviana Montalvo
Vicerrectorado
2301
Humberto Rosero
Dir. Administrativa
2302
Patricia Quiroz
Dir. Administrativa
2382
Segundo Tocto
Dir. Administrativa
2311
Tatiana Torres
Tesorera
2351
Rodrigo Tufio
Sheila Serrano
Moldeamiento Ambiental
Patsy Prieto
Gustavo Navas
Ondina Landzuri
2347
Bayardo Campuzano
Ciencias Exactas
2343
Mevin Flores
Mantenimiento
2304
Patricio Rodrguez
Biblioteca Sur
talo Gamboa
2350
Guardiana
Guardiana
2357
Federacin Estudiantil
FEUPS
2308
Yadira Jerez
CECASIS
2309
Nancy Flores
CECASIS
Lourdes Catota
Paulina Aguilar
Diego Soria
Rodrigo Reyes
2324
Julissa Freire
Sistemas
23
Usuario
Departamento
2333
Patricia Prez
Secretara
2332
Gabriela Ynez
2335
2334
Tatiana Mata
2337
Karla Rodrguez
2339
Patricia Narvez
2335
Betty Zambrano
2321
Edwin Arias
Dir. Ambiental
2316
Germn Arvalo
Dir. Electrnica
2318
Alfonso Jurado
2338
2356
Carlos Bohorquez
Comit Fiscalizacin
2314
Grace Moreano
2320
Glenda Toala
Dir. Sistemas
2319
Ivn Calero
Dir. Civil
2306
Ricardo Tipn
Bienestar Estudiantil
Usuario
Departamento
2323
Martha Ros
Dir. Idiomas
2344
Johana Celi
Laboratorio de Electronica
2352
Laboratorio de Fsica
Laboratorio de Fsica
24
Usuario
Departamento
2317
Magaly Gaibor
Laboratorio de Suelos
2354
Hugo Torres
Laboratorio de Suelos
2380
Jenny Cndor
2349
Cristhian Cepeda
Fiscalizacin Alpallacta
Usuario
Departamento
2348
Carlos Ulloa
Laboratorio Ambiental
2381
Karina Pazmio
Usuario
Departamento
2329
Valeria Zamora
Secretaria Pastoral
2327
Francisco Meja
Animacin Pastoral
2635
Ligia Arellano
Enfermera UIOS
2634
Yessenia Enrquez
2345
Rosario Bolaos
Cultura Fsica
25
26
REA DE SERVICIO
MDF-A
SDF-A-PB
SDF-A-P4,5
Cecasis
SDF-B-P1
SDF-C-PB
SDF-D-SB
SDF-A-PB
Biblioteca
SDF-H-PB
Pastoral
SDF-E-PB
Laboratorios civil
SDF-F-PB
Investigacin
EQUIPOS
MDF-A
SDF-A-P4
SDF-A-P5
SDF-A-PB
SDF-A-SB
SDF-B-P1
SDF-C-P1
SDF-F-P1
SDF-E-P1
SDF-D-PB
SDF-H-PB
27
Aparcamiento de llamadas.
Teleconferencias.
Videoconferencia.
Conferencia telefnica.
Cisco Call Manager trabaja con los servidores Publisher y Subscriber. Publisher es el
primer servidor que se instala y proporciona los servicios de base de datos a todos los
miembros de una agrupacin y Subscriber reducen el tiempo de inicializacin de los
servicios Call Manager. Tambin adiciona el servidor IVR el cual aporta en el
proceso de gestin de llamadas.
Confiabilidad.
mantenimiento.
3.3.2 Telfonos IP
Los modelos utilizados son los siguientes: 7911, 7912, 7940,7941 y 7960.
29
Compatibilidad con la red: Una vez configurados para ello, la red Cisco
reconoce automticamente los telfonos cuando se conecten a la red,
eliminando los costes y la complejidad de aadir o quitar telfonos. (CISCO,
2013)
30
3.3.3 Cdecs
31
CAPTULO 4
ESTUDIO Y DISEO DEL SISTEMA IVR PARA CAMPUS SUR DE LA
UNIVERSIDAD POLITCNICA SALESIANA QUITO
4.1 Definicin del problema a resolver por medio del Sistema IVR
4.1.1 Problema
El sistema IVR interactuar con las bases de datos utilizando MySQL, para obtener
la informacin solicitada por el estudiante, la cual se transmitir por medio del
telfono despus que el estudiante se autentique por medio del nmero de cdula y su
pin correspondiente.
32
En men IVR contar con siete opciones las cuales se citan a continuacin:
Extensiones.
Campus El Girn.
Campus Sur.
Campus Kennedy.
Cayambe.
Atencin Personalizada.
33
En este punto se describir las recomendaciones y fases de diseo en general para los
sistemas IVR.
Disear un men principal con opciones claras para que el usuario pueda
seleccionar la opcin que ms se ajuste a sus necesidades.
Mantener el orden del men de opciones, para evitar confusiones por parte
del usuario ya familiarizado con un men anterior.
34
Es el primer mensaje que recibe el usuario por parte de la institucin, empresa, etc.
Para el saludo inicial se recomienda seguir los siguientes pasos:
Se recomienda realizar una bienvenida breve: buenos das, buenas tardes, etc.
El tiempo mximo total entre el saludo inicial y el men principal debe ser de
veinte segundos. (Voxdata, 2011)
4.2.1.3 Identificacin
4.2.1.4 Mens
Para realizar un men acogedor y comprensible para el usuario se debe seguir los
siguientes pasos:
Se sugiere que los mens estn provistos de un ttulo de men que indica al
usuario donde se encuentra y de qu se tratan las opciones que escuchar.
Ejemplo: Califi a iones a a mi as.
Mximo cuatro opciones por men, en caso de que se utilice la respuesta por
tonos.
36
Las preguntas deber ser directas, es decir que induzcan al usuario de manera
natural a seleccionar Si o No.
37
Es la fase en la cual se crea el cdigo y por ende la aplicacin IVR. Esto se consigue
utilizando lenguajes tradicionales de programacin y herramientas de alto nivel de
programacin IVR. (Database Systems Corp., 2013)
Es la fase final, durante este perodo, se pone a prueba el Sistema IVR en un entorno
real con usuarios finales reales que utilizan las caractersticas de este nuevo
programa. Los desarrolladores de IVR analizan de cerca el desempeo de la IVR
durante esta fase inicial de implementacin. (Database Systems Corp., 2013)
38
El diseo del prototipo modelado est basado en la estructura del Sistema IVR que
actualmente se encuentra implementado, excepto la opcin 6 en la cual est orientada
este proyecto. El IVR actual tiene asignadas dos lneas telefnicas: 3962800 y
3962900.
CAMPUS EL
GIRN
CAMPUS
SUR
Primer
parcial
CAMPUS
KENNEDY
SOFTPHONE
SISTEMA
IVR
CAYAMBE
CALIFICACIONES
ACADMICAS
Nota
final
CONSULTA DB
CAMPUS SUR
ATENCIN
PERSONALIZADA
AUTENTICACIN
SERVIDOR
DE BASE
DE DATOS
Pagos
realizados
ESTADO DE
CUENTA
Deudas
pendientes
Prefacturas
pendientes
39
INICIO
0
6
1
Dependiendo de
la opcin
seleccionada
2
En el caso de que
NO EXISTA la
opcin
seleccionada.
40
Marque la extensin
ahora
Se compara el
nmero de extensin
ingresado con los de
la DB
Se transfiere la
llamada a la
extensin
solicitada
NO
SI
EXISTE
FIN
Se transfiere la
llamada para que sea
atendida de manera
personalizada al
Campus El Girn
FIN
Se transfiere la
llamada para que sea
atendida de manera
personalizada al
Campus Sur
FIN
Se transfiere la
llamada para que sea
atendida de manera
personalizada al
Campus Kennedy
FIN
Se transfiere la
llamada para que sea
atendida de manera
personalizada a
Cayambe
FIN
42
Se compara el
nmero de cdula
ingresado con los de
la DB
A
SI
SI
Existe
Por favor
marque su
PIN
Se compara el
PIN ingresado
con los de la
DB
Existe
NO
NO
SI
Es el nmero
de intentos <=
2?
SI
Es el nmero
de intentos
<=2?
NO
NO
Ha sido un placer
atenderle
Ha sido un placer
atenderle
FIN
FIN
43
Si desea ingresar a
calificaciones
acadmicas MARQUE 1,
para conocer su estado
de cuenta MARQUE 2
1
1.1
2
Dependiendo
de la opcin
seleccionada
1.2
En el caso de que
NO EXISTA la
opcin
seleccionada
Es el nmero
de intentos <= 2?
SI
NO
Ha sido un placer
atenderle
FIN
Se despliega el nombre
completo, cada una de
las materias con su
respectiva calificacin
y adems se brinda
atencin personalizada
con la opcin MARQUE 0
1
Dependiendo
de la opcin
seleccionada
Se despliega el nombre
completo, cada una de
las materias con su
respectiva calificacin
final y adems se brinda
atencin personalizada
con la opcin MARQUE 0
0
SI
La opcin
seleccionada
es 0
NO
Ha sido un placer
atenderle.
FIN
La opcin 1.2 permite la seleccin entre las opciones de pagos realizados, deudas
pendientes y prefacturas pendientes. Despus que se ha desplegado la informacin
requerida se brinda la oportunidad de obtener mayor informacin digitando la opcin
0 para ser atendido de manera personalizada, y en el caso que el usuario no desee
mas informacin finaliza la comunicacin con un mensaje como se indica en la
Figura 19.
45
Se despliega el nombre
completo, los pagos
realizados del semestre
actual
y adems se brinda
atencin personalizada
con la opcin MARQUE 0
3
Dependiendo
de la opcin
seleccionada
Se despliega el nombre
completo, las prefacturas
pendientes del semestre
actual y adems se brinda
atencin personalizada con
la opcin MARQUE 0
2
Se despliega el nombre
completo, las deudas
pendientes del semestre actual
y adems se brinda atencin
personalizada con la opcin
MARQUE 0
La opcin
seleccionada
es 0
SI
0
NO
Ha sido un placer
atenderle.
FIN
46
Se transfiere la
llamada a la extensin
2100 para que sea
atendida de manera
personalizada
FIN
Elaborado por: Fernanda Sinchire
4.3.1.1 Servidor
47
4.3.1.2 Softphone
Memoria de 1 GB de Ram.
48
En la Figura 22 se observa las reglas iptables que vienen preconfiguradas das, para
no tener inconvenientes por puertos bloqueados en adelante se debe borrar estas
reglas es decir el firewall queda abierto.
El contenido de las reglas iptables se borra con el comando iptables F. Para salvar
todo el proceso realizado se ejecuta el comando iptables-save.
Primero se debe tomar en cuenta que versin de kernel se est utilizando con ayuda
del comando uname r como se indica en la Figura 23.
50
Para actualizar la versin de kernel se ejecuta el comando yum update kernel como
se muestra en la Figura 24. En este caso se tiene la versin 2.6.32-220.el6.x86_64
para 64 bits.
51
interfaces fsicas. Para este proyecto se har uso de la versin 2.5 de Dahdi. Esta
paquetera
ser
descargada
de
la
siguiente
pgina
web:
52
El mismo proceso que se realizo para descomprimir Asterisk se realiza para Dahdi,
en este caso se ejecuta el comando tar zxvf dahdi-linux-complete-2.5.0+2.5.0.tar.gz.
Es obligatorio instalar previamente todas las libreras necesarias para que el proceso
de compilacin de Asterisk y Dahdi final sea exitoso. Para lo cual se debe ejecutar el
siguiente comando que se indica a continuacin en la Figura 30.
53
54
Figura 32 Ejecucin del comando make all para la compilacin de Dahdi 2.5.0
Posteriormente se ejecuta el comando make install para instalar los mdulos y los
binarios que se compilaron anteriormente como se indica en la Figura 33.
55
56
Seguido del comando ./configure el cual sirve para verificar si el sistema operativo
Centos 6.2 tiene todas las dependencias necesarias para la compilacin exitosa de
Asterisk 1.8.5 como PBX como se muestra en la Figura 37 a continuacin.
57
58
59
4.3.3 MySQL
Para iniciar con el proceso de instalacin se ejecuta el comando yum install mysql
mysql-server como se muestra en la Figura 44.
60
Para iniciar una sesin y crear las bases de datos en el servidor MySQL se crea una
contrasea para el usuario, en este caso para el root con el comando mysqladmin u
root password que se muestra en la Figura 46.
Y por ltimo para conectar y manipular las bases de datos MySQL se debe instalar el
mdulo script PHP con el comando que se indica en la Figura 47.
4.3.4 PHPAGI
Es una clase PHP de AGI. Se distribuye bajo trminos de la licencia pblica GNU.
Su desarrollador fue Matthew Asham, pero gracias a la colaboracin de David Eder,
PHPAGI se ha reestructurado de forma masiva y est disponible en una nueva
versin 2. En este proyecto se trabajar con la ltima versin 2.20.
Para poder ejecutar los script PHP desde el dialplan se debe dar los permisos
correspondientes como se indica en la Figura 50.
62
4.3.5 Festival
Festival es una aplicacin que permite sintetizar la voz , es decir convierte un texto
en audio (TTS) de manera gil. Fue desarrollado inicialmente por la Universidad de
Edinburgo (UK) con algunas falencias, pero gracias a las
contribuciones
Se distribuye como software libre, y viene configurado por defecto en ingles, pero se
puede utilizar en otros idiomas como el espaol gracias a la contribucin de la Junta
de Andaluca. Esta ltima ha desarrollado dos paquetes bajo en nombre de
hispavo es los uales se pue en es a ga
Festival.
En este proyecto se incorporar Festival a la Central Asterisk 1.8.0 para leer los
archivos de texto del men IVR.
Para que Festival se integre con Asterisk se debe instalar y compilar los paquetes
necesarios. A continuacin se detalla el proceso que se debe seguir. Para comenzar se
de instalar descargar el mdulo de instalacin de Festival como se indica en la
Figura 52.
63
Festival por defecto viene predefinido en idioma ingls, por ende para agregarle el
idioma espaol se deben ejecutar los siguientes comandos que se indican en la Figura
54.
64
Para este proyecto se emplear una voz femenina para lo cual se debe descargar el
paquete festvox-sflpc16k como se indica en la Figura 56.
65
66
Primero se debe desactivar el firewall, ya que por lo general este software bloquea
los puertos 5060 y 5061 utilizados en telefona IP. A continuacin se debe descargar
el softphone de la pgina oficial de CounterPath luego se debe ejecutar el setup y
seleccionar next como se indica en la Figura 60.
67
68
69
Authorization user name: Este campo se llena con el mismo valor que se
ingreso en el campo anterior Account name.
Primero se debe crear una nueva cuenta SIP que sea propietaria de este softphone,
para lo cual se sita en la op in Account Settings que se en uent a en la pa te
superior izquierda como se muestra en la Figura 65. Y luego se despliega la ventana
con los campos que se debe llenar para registrar el softphone.
70
71
En este punto se describir paso a paso las especificaciones necesarias para que la
implementacin de las bases de datos al servidor sea exitosa.
NOMBRE DE LA TABLA
DATOS
extensiones
NOMBRES DE LOS
CAMPOS
ext_campus_sur
73
NOMBRE DE LA TABLA
NOMBRES DE LOS
DE DATOS
CAMPOS
datos_alumno
sna_alumno
Esta base de datos hace referencia a las materias y calificaciones acadmicas de los
estudiantes.
Est
conformada
por
las
tablas:
sna_materia
NOMBRE DE LA TABLA
DATOS
NOMBRES DE LOS
CAMPOS
sna_materia
sna_calificacion_academico
notas_alumnos
74
Esta base de datos hace referencia a los pagos realizados, deudas pendientes y
prefacturas pendientes consecutivamente. Contiene tres tablas: prealizados,
dpendientes y ppendientes. La tabla prealizados est integrada por los campos:
fecha_emision que indica la fecha que se emiti la factura, fac_descripcion indica los
rubros facturados, fac_total indica el valor de los rubros en dlares y cod_alumno es
el nmero de cdigo, nico para cada estudiante. La tabla dpendientes est
conformada por los mismos campos de la tabla prealizados, con la diferencia que los
rubros indicados an no han sido cancelados.
Y por ltimo ppendientes est constituida por los campos: fecha_emision que indica
la fecha en la que se emiti la factura, sed_codigo indica la sede en la cual se factur
el rubro ( Cuenca, Quito o Guayaquil) , fac_total indica el valor de los rubros en
dlares y cod_alumno es el cdigo del estudiante.
NOMBRE DE LA TABLA
DATOS
NOMBRES DE LOS
CAMPOS
prealizados
fecha_emision char(10),
fac_descripcion char(60),
fac_total float(7) , cod_alumno
int(7)
dpendientes
saldos_alumnos
fecha_emision char(10),
fac_descripcion char(60),
fac_total float(7) , cod_alumno
int(7)
ppendientes
75
La bases de datos, tablas y campos se configuran dentro del servidor MySQL, por
ende para iniciar con el proceso se ingresa a la base con la contrasea ya configurada
anteriormente, luego se crea la tabla extensiones con los parmetros de la Tabla 13.
Despus de crear la tabla se llenan los campos como se indica en la Figura 69 para
cada alumno.
76
De la misma manera que la base de datos anterior se crea la tabla sna_alumno con
los parmetros de la Tabla 14.
77
Despus de crear la tabla se llenan los campos como se indica en la Figura 72 para
cada alumno.
78
Al igual que en la base de datos anterior primero se ingresa al servidor MySQL con
la contrasea respectiva, luego se crea la tabla notas_alumnos con los parmetros que
se indic en la Tabla 15.
Despus de crear la tabla se llenan los campos como se indica en la Figura 75 para
cada materia.
79
80
81
Al igual que en la base de datos anterior primero se ingresa al servidor MySQL con
la contrasea respectiva, luego se crea la tabla con los parmetros que se indic en la
Tabla 16.
Despus de crear la tabla se llenan los campos como se indica en la Figura 81 para
cada materia.
82
83
Para empezar con el proceso de configuracin de las bases de datos (DB) se necesita
crear las cuentas de los usuarios. La configuracin de cuentas en Asterisk, que
utilizan el protocolo SIP se las realiza en el archivo sip.conf, el cual se encuentra
ubicado en el directorio /etc/asterisk. Este archivo maneja una serie de etiquetas
las cules se deben conocer perfectamente para poder realizar una configuracin
exitosa.
84
Los parmetros de configuracin bsicos del archivo sip.conf son los siguientes:
context: Contexto donde ingresan las llamadas entrantes a travs del canal
I
efe to efault.
context: Nombre del primer contexto que se ejecuta cuando se realiza una
llamada. (Girn, 2008)
85
Dent o e los ontextos se lo ali an las extensiones. Una extensin se define como
un conjunto de acciones. La sintaxis de una extensin es la siguiente: exten =>
nombre, prioridad, aplicacin.
Script campus_sur.php
88
Script opseis.php
89
90
CAPTULO 5
PRUEBAS Y ANLISIS DE RESULTADOS
RESULTADO ESPERADO
MARCADO
Saludo inicial
Men principal
Script campus_sur.php
Script opseis.php
Mensaje de despedida
91
El men principal del prototipo consta de siete opciones como se indico en el diseo
en el Captulo 5. A continuacin en la Tabla 18 se muestra el resultado esperado del
Sistema IVR.
RESULTADO ESPERADO
5.1.2 Encuesta sobre el posible nivel de aceptacin del sistema IVR modelado
nivel de confianza a utilizarse fue sugerido por parte del tutor del presente proyecto.
92
n = Tamao de la muestra.
N = Tamao de la poblacin.
p = Proporcin en la que la variable se da en la poblacin, en caso de desconocerse
su valor es 0.5.
q = 1-p.
= Nivel de confianza (valor correspondiente a la distribucin de Gauss).
i = Error de la estimacin. (Rodrguez, 2012)
93
RESULTADO OBTENIDO
Saludo inicial
Reproduccin correcta
Men principal
Reproduccin correcta
Script campus_sur.php
Script opseis.php
Mensaje de despedida
Reproduccin correcta
Los resultados obtenidos del sistema IVR satisfacen las especificaciones de diseo
como se indica en la Tabla 20.
RESULTADO ESPERADO
Solicitud correcta
Transferencia correcta
Transferencia correcta
Transferencia correcta
Transferencia correcta
Transferencia correcta
Transferencia correcta
Media (): Es el valor que resulta de compensar unos datos con otros, para
conseguir que todos los datos sean iguales, tambin conocido como
promedio.
Una vez definidos los parmetros principales se procede a analizar los resultados
estadsticos de la encuesta.
95
NUMRICA AL
DISTRIBUCIN NORMAL
OBTENIDO
RESULTADO OBTENIDO
(Coeficientes)
Si
No
Si
No
20
46
1.30
0.46
0.84 z 1.76
96
ASIGNACIN NUMRICA AL
DISTRIBUCIN
RESULTADO OBTENIDO
NORMAL
(Coeficientes)
Siempre
Rara
veces
vez
37
21
Nunca
Siempre
Rara
veces
vez
Nunca
2.71
0.67
2.04 z
z 3.38
97
Pregunta 3: Por favor indique los servicios a los que usted tiene acceso:
Telefona fija:
NUMRICA AL
DISTRIBUCIN NORMAL
OBTENIDO
RESULTADO OBTENIDO
(Coeficientes)
Si
No
Si
No
52
14
1.78
0.41
1.37 z 2.19
98
Telefona mvil:
NUMRICA AL
DISTRIBUCIN NORMAL
OBTENIDO
RESULTADO OBTENIDO
(Coeficientes)
Si
No
Si
No
49
17
1.74
0.44
1.30 z 2.18
99
Internet fijo:
NUMRICA AL
DISTRIBUCIN NORMAL
OBTENIDO
RESULTADO OBTENIDO
(Coeficientes)
Si
No
Si
No
48
18
1.72
0.44
1.28 z 2.16
100
Internet mvil:
NMERICA AL
DISTRIBUCIN NORMAL
OBTENIDO
RESULTADO OBTENIDO
(Coeficientes)
Si
No
Si
No
20
46
1.30
0.46
0.84 z 1.76
101
NMERICA AL
DISTRIBUCIN NORMAL
OBTENIDO
RESULTADO OBTENIDO
(Coeficientes)
Si
No
Si
No
61
1.92
0.27
1.65 z 2.19
102
103
ASIGNACIN NUMRICA A
MEDIA
Nmero de
Nmero de
Nmero de
estudiantes que
estudiantes que
estudiantes que
estudiantes que
aceptan el
no aceptan el
aceptan el
no aceptan el
prototipo
prototipo
prototipo
prototipo
64
1.97
0.05
0.01
0.005
0.002
Valores crticos de z
-1.28
-1.645
-2.33
-2.58
-2.88
para ensayos
1.28
1.645
2.33
2.58
2.88
Valores crticos de z
-1.645
-1.96
-2.58
-2.81
-3.08
para ensayos
y 1.645
y 1.96
y 2.58
y 2.81
y 3.08
Nivel de significacin
unilaterales
bilaterales
Fuente: (Spiegel, 1977)
104
4. Regla de decisin:
Se frmula teniendo en cuenta que es un ensayo de dos colas (bilateral), la
mitad de 0.10, es decir, 0.05 est en cada cola. El rea en la que no se rechaza
Ho est entre las dos colas, comprende el 0.90 del rea total.
105
5. Toma de decisin:
En valor de
106
CAPTULO 6
ESTIMACIN DE LA FACTIBILIDAD TCNICA Y ECONMICA DEL
PROYECTO
107
Resumen de hardware:
Memoria tipo servidor DDR-3 ECC, hasta 1333 MHz; soporte de un mximo
de 32 GB UDIMM con UDIMM de 2 GB, 4 GB y 8 GB.
ServeRAID C100 estndar para IBM System x compatible con RAID-0 o -1.
2.- Para el segundo caso, hay que analizar que tan robusto es el computador y si tiene
la capacidad suficiente para cumplir con los requerimientos de hardware y software.
Su costo de implementacin se reducir respecto al primer caso, pero tambin hay
108
3.- Y por ltimo, para el tercer caso hay que realizar un anlisis exhaustivo en el
servidor Asterisk que actualmente se encuentra en produccin, para verificar s tiene
la capacidad suficiente para soportar el servicio que se desea implementar y si est
modificacin afectara en su ptimo rendimiento. En este caso se generar un gasto
en la parte de software superior a los dos anteriores, debido al anlisis del servidor
actual.
Costos de programacin.
109
INVERSIN EN HARDWARE
Costos de equipo
INVERSIN EN
INVERSIN
SOFTWARE
TOTAL
Costos de
Costo de
Dlares
materiales
programacin
7.939,00
6.000,00
400,00
14.339,39
0,00
6.000,00
400,00
6.400,00
0,00
1.000,00
600,00
1.600,00
Los beneficios que se citan a continuacin son los ms relevantes que se obtendran,
en el caso de que el proyecto se implemente.
Alternativa de consulta.
Escalabilidad.
110
REMUNERACIN
FONDO
SALARIO
COSTO
BSICO
ADICIONAL
DE
MENSUAL
ANUAL POR
UNIFICADO
MENSUAL
RESERVA
(SBU)
318
TOTAL
EMPLEADO/A
MENSUAL
52.82
26.5
397.32
4767.84
14.303,52
COSTO DE
COSTO DE
TIEMPO DE
IMPLEMENTACIN
CONTRATACIN
RECUPERACION DE LA
INVERSIN
(Meses)
14.339,39
6.400,00
1.600,00
12.03
14.303,52
5.36
1.34
111
3.- Esta opcin es la ms econmica respecto a la Tabla 32, pero requiere un anlisis
ms profundo para concluir si es viable o no, adems existe la posibilidad que
disminuya el rendimiento del servidor actual. Debido a que el tiempo de
recuperacin de la inversin es mnimo, al igual que en el caso anterior, se debera
optar por algo mejor, es decir, se descartara esta opcin.
112
113
CONCLUSIONES
114
e =0.27 a favo
e la implementacin alcanzado en la
115
116
RECOMENDACIONES
Antes de elegir entre uno de los protocolos SIP o IAX se debe realizar un
anlisis exhaustivo de las ventajas y desventajas que poseen cada uno de ellos
para definir cul es el ms conveniente. Si se desea obtener un mayor ancho
de banda, compatibilidad con otros equipos y transmitir sin dificultad
cualquier informacin se recomienda utilizar SIP. Por el contario si se desea
ahorrar puertos, y enviar datos y sealizacin en conjunto para no tener
inconvenientes por NAT se sugiere utilizar IAX.
117
LISTA DE REFERENCIAS
Dunayevich, J., Baca, L., Brassara, A., Alberch, S., & Lobo, A. (s.f.). Creative
commons. Recuperado el 25 de mayo de 2013, de www.eslared.net
E.P Soluciones. (2013). ACCXION. Recuperado el 20 de enero de 2013, de
http://satelital.epsoluciones.com
Garzn, B. (s.f.). UNVM. Recuperado
www.dirinfo.unvm.edu.ar
el
23
de
enero
de
2013,
de
de
marzo
de
2013,
de
120
GLOSARIO
[A]
AGI
ASR
[C]
CLI
[D]
DB
(Data Base)
DID
[I]
IP
(Internet Protocol)
IAX
ITU
IVR
[M]
MGCP
MySQL
[N]
NAT (Network Address Translation)
121
[P]
PBX
[S]
SCCP (Skinny Client Control Protocol)
SIP
[T]
TCP
(Text To Speech)
[U]
UDP (User Datagram Protocol)
[V]
VRU (Voice Response Unit)
VoIP (Voice over IP)
[W]
WAN (Wide Area Network)
122
ANEXOS
Anexo 1: Cdigo fuente del archivo sip.conf
[general]
bindport=5060
bindaddr=0.0.0.0
context=default
canreinvite=no
language=es
[1000]
type=friend
username=1000
qualify=yes
callerid=name1<ups>
host=dynamic
secret=1000
nat=yes
context=aplicaciones
123
static=yes
writeprotect=no
language=es
clearglobalvars=no
[globals]
[aplicaciones]
[ivr-ups]
[extensiones]
[ivr-opseis]
[apersonalizada]
125
126
//Ingreso de extensin
$agi -> text2wav('Marque la extension ahora');
//Envio de beep y espera de 20s para la respuesta
$_result = $agi -> get_data('beep',1000,20);
//Se obtiene la informacin introducida desde el softphone
$keys = $_result['result'];
if($keys!="") {
//Si se introdujo un valor se crea un string de consulta SQL
$query = "select departamento from ext_campus_sur where extension =\"$keys\" ";
$_result = mysql_query($query,$conexion);
//Verificacion de la extensin
if($_re = mysql_fetch_array($_result)) {
$agi -> text2wav("$_re[departamento]");
}
}
?>
127
#!/usr/bin/php -q
<?php
//Invocacin de librerias phpagi
require("phpagi-2.20/phpagi.php");
//Activacin de bandera para enviar todo lo que se realice por consola
error_reporting(E_ALL);
// Creacin de una instancia de la clase AGI
$agi = new AGI();
//Ejecucin del comando answer de Asterisk
$agi -> Answer();
//Conexin con la base de datos
$conexion = mysql_connect("localhost","root","sasterisk") or die("Error:El servidor
no puede conectarse con la base de datos");
mysql_select_db("datos_alumno",$conexion);
$aux = 0;
do{
$aux = $aux+1;
//Ingreso del nmero de cdula
$agi -> text2wav('Por favor marque su numero de cedula');
//Envio de beep y espera de 20s para la respuesta
$_result = $agi -> get_data('beep',1000,20);
//Se obtiene la informacin introducida desde el softphone
$keys = $_result['result'];
if($keys != "") {
//Si se introdujo un valor se crea un string de consulta SQL
$query = "select alu_pin from sna_alumno where cllc_cdg =\"$keys\" ";
$_result = mysql_query($query,$conexion);
//Verificacion del nmero de cdula
if($_re = mysql_fetch_array($_result)) {
$aux = 4;
//Si existe el nmero de cedula en la base de datos
128
$aux1 = 0;
do{
$aux1 = $aux1+1;
$agi -> text2wav('Por favor marque su pin');
//Envio de beep y espera de 20s para la respuesta
$_result = $agi -> get_data('beep',1000,20);
$keys = $_result['result'];
//Si el pin ingresado es correcto
if($keys == "$_re[alu_pin]"){
$agi -> text2wav('Si desea conocer sus calificaciones academicas marque uno para
conocer su estado de cuenta marque dos');
$_result = $agi -> get_data('beep',1000,20);
$keys = $_result['result'];
//Calificaciones acadmicas
$aux2 = 0;
if($keys == 1){
$agi -> text2wav('Si desea conocer sus calificaciones del primer parcial marque uno
para conocer su nota final marque dos');
mysql_select_db("datos_alumno",$conexion);
$_result = $agi -> get_data('beep',1000,20);
$keys = $_result['result'];
129
//Nota final
if($keys == 2){
$keys = "$_re[alu_pin]";
$query = "select cllc_cdg,alu_nombres,alu_apellidos from sna_alumno where
alu_pin =\"$keys\" ";
$_result = mysql_query($query,$conexion);
if($_re = mysql_fetch_array($_result)) {
$agi -> text2wav("$_re[alu_nombres] , $_re[alu_apellidos]");
mysql_select_db("notas_alumnos",$conexion);
$keys = "$_re[cllc_cdg]";
$query = "select mat_codigo,caa_nota_final from sna_calificacion_academico where
cllc_cdg =\"$keys\" ";
$_result = mysql_query($query,$conexion);
while ($_re = mysql_fetch_array($_result)) {
$keys1 = "$_re[mat_codigo]";
$query1 = "select mat_descripcion from sna_materia where mat_codigo =\"$keys1\"
";
$_result1 = mysql_query($query1,$conexion);
$_re1 = mysql_fetch_array($_result1);
$agi -> text2wav("$_re1[mat_descripcion], $_re[caa_nota_final]");
130
$aux4 = 3;}
}
}
//Estado de cuenta
if($keys == 2){
$agi -> text2wav('Si desea conocer sus pagos realizados marque uno para conocer
sus deudas pendientes marque dos para conocer sus prefacturas pendientes marque
tres');
mysql_select_db("datos_alumno",$conexion);
$_result = $agi -> get_data('beep',1000,20);
$keys = $_result['result'];
//Pagos realizados
if($keys == 1){
$keys = "$_re[alu_pin]";
$query = "select cod_alumno,alu_nombres,alu_apellidos from sna_alumno where
alu_pin =\"$keys\" ";
$_result = mysql_query($query,$conexion);
if($_re = mysql_fetch_array($_result)) {
$agi -> text2wav("$_re[alu_nombres] , $_re[alu_apellidos]");
mysql_select_db("saldos_alumnos",$conexion);
$keys = "$_re[cod_alumno]";
$query = "select fecha_emision,fac_descripcion,fac_total from prealizados where
cod_alumno =\"$keys\" ";
131
$_result = mysql_query($query,$conexion);
while ($_re = mysql_fetch_array($_result)) {
$agi -> text2wav("$_re[fecha_emision], $_re[fac_descripcion], $_re[fac_total]
dolares");
$aux5 = 4;}
}
}
//Deudas pendientes
if($keys == 2){
$keys = "$_re[alu_pin]";
$query = "select cod_alumno,alu_nombres,alu_apellidos from sna_alumno where
alu_pin =\"$keys\" ";
$_result = mysql_query($query,$conexion);
if($_re = mysql_fetch_array($_result)) {
$agi -> text2wav("$_re[alu_nombres] , $_re[alu_apellidos]");
$agi -> text2wav('Recuerde que los valores presentados deden ser cancelados');
mysql_select_db("saldos_alumnos",$conexion);
$keys = "$_re[cod_alumno]";
$query = "select fecha_emision,fac_descripcion,fac_total from dpendientes where
cod_alumno =\"$keys\" ";
$_result = mysql_query($query,$conexion);
while ($_re = mysql_fetch_array($_result)) {
$agi -> text2wav("$_re[fecha_emision], $_re[fac_descripcion], $_re[fac_total]
dolares");
$aux5 = 4;
$aux3 = 4;
}
if($aux3 != 4) {
$agi -> text2wav('No tiene deudas pendientes');
$aux5 = 4;}
}
}
132
//Prefacturas pendientes
if($keys == 3){
$keys = "$_re[alu_pin]";
$query = "select cod_alumno,alu_nombres,alu_apellidos from sna_alumno where
alu_pin =\"$keys\" ";
$_result = mysql_query($query,$conexion);
if($_re = mysql_fetch_array($_result)) {
$agi -> text2wav("$_re[alu_nombres] , $_re[alu_apellidos]");
$agi -> text2wav('Recuerde que los valores presentados solo estan registrados en el
sistema academico por lo tanto no esta obligado a cancelar');
mysql_select_db("saldos_alumnos",$conexion);
$keys = "$_re[cod_alumno]";
$query = "select fecha_emision,sed_codigo,fac_total from ppendientes where
cod_alumno =\"$keys\" ";
$_result = mysql_query($query,$conexion);
while ($_re = mysql_fetch_array($_result)) {
$agi -> text2wav("$_re[fecha_emision], $_re[sed_codigo], $_re[fac_total] dolares");
$aux5 = 4;
$aux3 = 4;
}
if($aux3 != 4) {
$agi -> text2wav('No tiene prefacturas pendientes');
$aux5 = 4;}
}
}
//En el caso que el estudiante no seleccione ninguna de las opciones: pagos
realizados, deudas pendientes o prefacturas pendientes
if($aux5 != 4){
$agi -> text2wav('Ha sido un placer atenderle');
$agi -> Hangup();
}
$aux2 = 3;
}
133
134
Anexo 5: Encuesta
ENCUESTA
Conoce usted los servicios de informacin que brinda actualmente la Universidad
Politcnica Salesiana?
SI
NO
Con qu frecuencia utiliza usted la pgina web de la Universidad Politcnica
Salesiana para obtener informacin acadmica?
Siempre
A veces
Rara vez
Nunca
Por favor indique los servicios a los que tiene acceso:
Telefona fija
Telefona mvil
Internet fijo
Internet mvil
Estara usted dispuesta/o a utilizar un nuevo servicio de informacin, que le permita
obtener sus calificaciones acadmicas y/o estado de cuenta a travs de telefona fija
y/o mvil?
SI
NO
135