Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
El proyecto expuesto en esta tesis es una de las muchas soluciones para darle a los usuarios de una institucin
comercial o educativa informacin de sus movimientos en este caso de sus deudas de una forma gil, rpida y
sencilla con una llamada telefnica y usando un campo clave para identificarse en este caso el numero de cdula.
Cuando un usuario realice una llamada a la central telefnica este escuchar un men y tendr que ingresar su
identificador; de acuerdo a lo que el presione se pueden dar varios casos, los cuales se explican en la descripcin
del proyecto.
Esta es una solucin a muy bajo costo para las instituciones puesto que todo lo que se utiliza para su
implementacin es software libre.
Se utiliza para la implementacin de esta solucin como servidor de Voz sobre IP Asterisk, para hacer el
cdigo que permite usar la opcin Interfaz de Enlace de Asterisk (AGI) que tiene Asterisk se utiliza el lenguaje php,
se usa una librera de php php-agi que maneja todas las opciones de Asterisk para que puedan ser usadas ms
fcilmente en el cdigo php y para almacenar los datos se usa el motor para la base de datos Mysql.
Abstract
The project described in this thesis is one of many solutions to give users for commercial or educational institutions
information of their movements in this case of debt in an agile, quick and easy way with a phone call and using a
key field to identify in this case the identity card number.
When a user makes a call to the telephone exchange this will hear a menu and must enter its ID, according to what
it press can take several cases, which are explained in the description of the project.
This is a very low cost solution for institutions since all that is used for implementation is open source.
Asterisk is used to implement this solution as VoIP server, to make the code that allows the option to use Asterisk
Gateway Interface (AGI) that have Asterisk, PHP language is used, use a php library php agi that handles all
Asterisk options so they can be used more easily in php code and MySQL database is used as data storage engine.
ESCUELA SUPERIOR POLITCNICA DEL LITORAL
CENTRO DE INVESTIGACIN CIENTFICA Y TECNOLGICA
Por ejemplo, una institucin comercial o de Una vez ingresado el nmero de cdula este puede
educacin la cual requiere una forma ms eficaz para tener tres tipos de respuesta. El primero es un mensaje
que sus usuarios consulten su informacin en la indicndole que su cdula no est registrada si el
empresa en este caso sus deudas; este proyecto nmero digitado no se encuentra en la base de datos.
consiste en la implementacin de un sistema de
consultas de deudas y fechas de pago por telfono. El segundo es un mensaje indicndole que no tiene
deudas si el nmero ingresado no registra ninguna
Tomando en cuenta la arquitectura de red de la deuda en la base de datos. El tercero, cuando la cdula
empresa podemos adecuar un servicio de Voz sobre IP ingresada tenga deudas, se escuchara el valor de la
de varias formas: una Arquitectura Distribuida, deuda y la fecha de pago seguida de un mensaje
Centralizada o Mixta; para la implementacin de esta pidindole que presione la tecla 1 para confirmar que
solucin usaremos la arquitectura centralizada que el usuario ha escuchado el mensaje de la deuda y as
consiste en un servidor que tiene toda la informacin sucesivamente si el usuario tiene ms de una deuda.
de la red de Voz sobre IP de la institucin.
4. Asterisk y php agi
Se asume que en la empresa hay instalado un
servidor de voz sobre IP asterisk, sino lo hay, se lo Asterisk es un PBX por software de cdigo abierto,
pondr en funcionamiento y para implementar la creado por Digium, Inc. y una base de usuarios y
solucin se utilizara un cdigo en php usando la desarrolladores en continuo crecimiento. Digium
librera php-agi y base de datos mysql que son de desarrolla cdigo fuente y hardware de telefona de
cdigo abierto. bajo costo que funciona con asterisk. Asterisk
funciona en Linux y otras plataformas Unix con o sin
2. Metodologa hardware que conecte tu servidor con la red global
tradicional de telefona, la PSTN. AGI es una interfaz
Los pasos para la realizacin de este proyecto que agrega funcionalidad a Asterisk para que
fueron: interacte con diversos lenguajes de programacin
1. Instalacin de la base de datos mysql. como: Perl, PHP, C, PASCAL, Bourne Shell, etc., y
2. Iniciar el servicio mysql con los respectivos as poder hacer sistemas ms complejos y de mayor
permisos para su uso. utilidad. En php existe una clase con varias funciones
3. Instalacin de php 5. previamente definidas que hacen ms fcil la tarea de
4. Instalacin del programa Asterisk sobre una elaborar cdigos PHP para Asterisk. Lo nico que hay
distribucin Linux para el proyecto se utilizo la que hacer es descargarla, descomprimirla e instalarla
distribucin CentOS 5. (copiarla) dentro del directorio /var/lib/asterisk/agi-
5. Configuracin de telfonos IP con usuarios bin/, para poder utilizar las funciones que en esta clase
SIP para pruebas. se definen, se debe incluir la clase en el cdigo
6. Instalacin y configuracin de softphone mediante la sentencia:
Zoiper. require "/var/lib/asterisk/agi-bin/phpagi-
7. Diseo e implementacin del sistema usando 1.12/phpagi.php";
php-agi. Con estas funciones es posible construir
aplicaciones ms complejas de forma sencilla. Se
3. Descripcin del Proyecto recomienda revisar las funciones disponibles dentro de
cada clase en la documentacin correspondiente
dentro de su sitio oficial.
ESCUELA SUPERIOR POLITCNICA DEL LITORAL
CENTRO DE INVESTIGACIN CIENTFICA Y TECNOLGICA
cliente se elimina de la base de datos, La funcin principal de este archivo fue de invocar
automticamente se eliminan del sistema las deudas de al cdigo donde se encuentra almacenado el programa
ese cliente. principal.
; contexto general sirve para establecer los
5.6. Configuracin de Archivos en Asterisk parmetros generales
5.6.1. Archivo sip.conf. ; del plan de marcado.
Este archivo de configuracin se encuentra en la [general]
ruta /etc/asterisk y sirve para colocar los usuarios sip a autofallthrough=no
registrar en la pbx asterisk, as como para conectarse a clearglobalvars=no
un proveedor sip y establecer todo lo relacionado a
este protocolo. ; contexto internal sirve para especificar el
procedimiento a ;realizarse para comunicarse con
alguna de las extensiones en el interior de la PBX.
[internal]
exten => 789,1,AGI(proyecto.php)
agi->say_number($Numero);-Reproduce en audio
el nmero que se le ha enviado.
$arreglo=explode("Caracter",$cadena);-Se le enva
una cadena y retorna un arreglo de los elementos de la
cadena separados por el carcter que se enva como
primer parmetro.
$agi->hangup();-Termina la llamada.
Figura 8. Confirmacin del usuario en la base de Figura 10. Respuesta del sistema a una cdula no
datos registrada
8. Recomendaciones matica/tutoriales/siscomunicacionesii2004/materia/e1y
t1.htm, 2004.
Para utilizar este sistema con una red externa es [7] Proyecto de grado profesional de un estudiante de
necesario poner la extensin del sistema en el la UNAD, Diferencia entre puertos FXS y FXO,
contexto incoming y en el archivo http://proyectopica.wordpress.com/2008/11/27/diferen
chan_dahdi.conf especificar que se trabaja con el cia-entre-puertos-fxs-y-fxo/, 2008.
contexto incoming. [8] Kioskea, Firmas electrnicas,
http://es.kioskea.net/contents/crypto/signature.php3,
Utilizar el sistema operativo CentOS puesto que
2010.
es bastante estable y es dedicado a los servidores.
[9] Entender VoIP (Voz sobre IP),
Levantar los servicios que se utilizan con este
http://www.informatica-hoy.com.ar/voz-ip-
sistema, tales como MySQL, como administrador
voip/Entender-VoIP-Voz-sobre-IP.php, 2010.
para poder acceder a los datos.
[10] VOIP-Info.org, Asterisk AGI, http://www.voip-
Descargar las voces en espaol que trabajan con
info.org/wiki/view/Asterisk+AGI, 2003.
este sistema y colocarlas en la ruta
[11] Wikipedia, Asterisk,
var/lib/asterisk/sounds para su correcto
http://es.wikipedia.org/wiki/Asterisk, 2010.
funcionamiento.
[12] asterisk_agi[VoIP en espaol], Asterisk AGI,
Renombrar la carpeta que contiene los archivos http://voip.megawan.com.ar/doku.php/asterisk_agi,
de audio de las voces en ingles. 2006.
Ubicar la ruta donde se encuentre almacenado el [13] Van Meggelen J., Smith J. y Madsen L., Asterisk
compilador de php. The Future of Telephony, Editorial ORelly Media,
Este sistema puede ser modificado en un corto o 2005.
mediano plazo segn como vayan cambiando los
requerimientos de los usuarios para hacer distintas
consultas. Por ejemplo, se podra aadir al
sistema la opcin de consultar los seminarios que
estn prximos a ser dictados, consultar cundo
se van a dictar y su costo y hasta cundo se puede
pagar. Tambin se puede aadir la opcin de
reservar un registro de un seminario al digitar una
tecla e inmediatamente se le indicara al usuario
hasta cuando est vigente su cupo.
9. Referencias
[1] Matthew Asham,Pagina oficial de la clase phpagi,
http://phpagi.sourceforge.net, 2004.
[2] Integracin de Asterisk usando AGI y AMI,
http://www.asteriskguide.com/mediawiki/index.php/In
tegraci%C3%B3n_de_Asterisk_usando_AGI_y_AMI,
2010.
[3] Loris Santamaria, Introduccin a Asterisk y la
telefona IP,
http://www.solucionesit.com.ve/tisol/files/Presentacio
nAsterisk.pdf, 2010.
[4] Portal de informtica, internet, tecnologas y web,
http://www.alegsa.com.ar/, 2009.
[5] Introduccon al Asterisk,
http://www.asteriskguide.com/mediawiki/index.php/In
troducc%C3%ADon_al_Asterisk, 2009.
[6] Universidad de Quevedo, Sistemas de
Telecomunicaciones,
http://www.uteq.edu.ec/facultades/empresariales/infor