Expositores: Andrea Freire Eduardo López

Slides:



Advertisements
Presentaciones similares
Estructura de una aplicación móvil
Advertisements

SQL Sigla del nombre “Structured Query Language”.
Ejercicios Solemne 2 Parte 1
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Asterisk Configuración Canales SIP/IAX 1.
SQL BAJO EL ENTORNO PHP/MYSQL MI JUAN PABLO TORRES HERRERA UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA ENSENADA Mayo de 2005.
DESARROLLO DE GUÍAS DE LABORATORIO PARA TELEFONÍA IP
Expositores: Alejandro Azú Campoverde Rafael Jiménez Ferrerosa
“Implementación de conexiones E1 entre 2 servidores Asterisk utilizando los equipos SDH del laboratorio de Telecomunicaciones” Isaura Ponguillo Fabrizio.
Protocolos de Señalización y transmisión de Flujo Multimedia
Alexander Toala Paz Orlando Zambrano Romero
Diagrama E-R de una zapateria
Por: Ronald Toscano Pretelt
MONITOREO DE SISTEMAS VOIP USANDO SOFTWARE LIBRE
Expositores: Sandra Pineda Obando Patricio Aguirre Sanabria
SISTEMAS DE VoIP Implementación de un IVR (Interactive Voice Response)
Oscar Navarrete J. Jorge Gutiérrez A.
Wendy Andrade I. Jason Jijón A. Fredy Buenaño V.
Presentada por: Ma. Fernanda Molina M. Luis Sánchez L.
RODRIGO DANIEL GUAYAQUIL LOOR JOSÉ LUIS SILVA PALMA
Implementación de un cliente
ANTECEDENTES En la infraestructura clásica de la telefonía tradicional existían muchos problemas tales como: Mantenimiento con altos costos. Dependencia.
Presentado por: Lenin Isaías Escobar Mendoza
El protagonismo incesante y cada vez más fuerte de Internet en la vida cotidiana de las personas y las actuales líneas de desarrollo tecnológico de.
Ivette Kembely Carrera M. Luis Andrés Vargas M.. La transmisión de voz a través de la red de datos aun está ciertamente monopolizada. Las comunicaciones.
“Implementación de un ambiente de Virtualización para el manejo de múltiples servidores de VoIP sobre una plataforma común de hardware” María Belén Sotaminga.
Sistema de gestión de las bases de datos (SGBD).
Expositores: Mercy Anchundia Ruíz Alberto Santos Flores IMPLEMENTACIÓN DE UN SISTEMA CALLBACK USANDO ARCHIVOS.CALL.
Asterisk Gateway Interface
SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez DuocUC.
MySQL M.C. Pedro Bello López.
Mini curso: Inteligencia de negocios (Bodega y Minería de Datos) aplicación práctica Mauro Callejas Cuervo Ecuador, Mayo 2014 Sesión 2 – TALLER 2 Grupo.
…Tablas DDL.
SQL Lenguaje de consulta estructurado
PROYECTO DE GRADUACIÓN
Programas computacionales para el manejo de datos, requisitos para su instalación y aplicación Jaime Escobar Melero Gerente de.
D ISEÑO DE UNA B ASE DE D ATOS. F ASES DEL DISEÑO.
DSL Domain Specific Language (Lenguaje Especifico del Dominio)
Informática- R.L.G.1 Computadora: Herramienta electromecánica que facilita diversas y muy variadas tareas dependiendo del programa que se utilice. Se caracteriza.
Instalación y Configuración
Integridad Referencial 1. Integridad referencial 2.
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Ingeniería de Software Prof. Miguel Jaime
Eloísa Orozco Bueno Alvaro Padilla Vilema
Aprenda MySQL en 120 minutos Tutorial. Dirigido a...
 Patrón de diseño de software.  Representar de forma Orientada a Objetos los datos de una Base de Datos Relacional.  Consiste en instancias de clase.
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
Relacionando tablas. Restricción FOREIGN KEY.. Constraint Foreign key Genera una restricción a partir de la relación de dos tablas. En la figura siguiente.
SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado.
Luis Miguel Andino Montalvo Javier Alejandro Urquizo Guevara
Diseño del Modelo de una Red WiFi con Servicios de Telefonía IP con enlaces de larga distancia en zonas rurales como solución a la demanda de telefonía.
LOGO Diseño e Implementación de un Sistema Telefónico Interactivo que me Permita Automatizar la Asignación y Consulta de Citas Médicas Expositoras: Cristina.
Structured Query Language (Lenguaje Estructurado de Consultas)
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
Santiago, septiembre de 2008 Aplicaciones telefónicas Portav Información de pago de facturas.
Creación y población de Base de datos. Creación de Base de datos Instrucciones. CREATE SCHEMA CREATE DATABASE nombre_base de datos.
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
SQL Sigla del nombre “Structured Query Language”.
Introducción al análisis de sistemas
Base de Datos I. SQL es el lenguaje estándar para trabaja con base de datos relacionales. MySQL, el sistema de gestión de bases de datos SQL Open Source.
Mínimo equipo necesario Un equipo 586 con 128MB de RAM como mínimo es recomendado para un servidor de Firebird 2.0. Windows demanda mas CPU y memoria que.
1 EDAD Apellido y Nombre Código Localidad Código Destino Fecha Vuelo Hora Salida Hora Llegada Código Empresa Cantidad Pasajeros Nombre Empresa Número Teléfono.
(Lenguaje de consulta estructurado)
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
SQL: DDL.
Implementación de funciones definidas por el usuario.
SISCAB Administrador VARCHAR(20) nombre VARCHAR(30) apellido INT cedula VARCHAR(20) VARCHAR(15) login VARCHAR(30) facultad VARCHAR(30) escuela +bool:
Lenguaje MySQL, DDL (Lenguaje de definición de datos) Ing. Linda Masias Morales.
Oscar Navarrete J. Jorge Gutiérrez A.
Oscar Navarrete J. Jorge Gutiérrez A.
Transcripción de la presentación:

Expositores: Andrea Freire Eduardo López SISTEMA TELEFÓNICO AUTOMÁTICO PARA CONSULTAS DE DEUDAS Y FECHAS DE PAGO Expositores: Andrea Freire Eduardo López

Antecedentes Las comunicaciones en la actualidad Centrales Telefónicas Modernas PBX Software Libre y herramientas Linux Asterisk

Objetivos Generales Implementar una pequeña central telefónica que provea el servicio de poder consultar deudas y fechas de pago Específicos Implementar un sistema de consultas usando una base de datos que permita independizar la fuente de datos de Asterisk. Demostrar el uso de AGI para el desarrollo del sistema. Demostrar el uso de la librería php-agi para el desarrollo del script que procesa la llamada. Implementar una aplicación que permita el ingreso de datos para el uso del sistema

Descripción Usuario llama a la central Central Responde Reproducción del sistema para cada caso Central reproduce instrucción Fin de la sesión Usuario digita su cédula o 999 para salir Usuario registrado con deudas Usuario registrado sin deudas Usuario no registrado ¿Digitó 999? SI NO Sistema consulta a la base de datos

Metodología 1 Instalación de Centos 5.2 2 Instalación de la base de datos mysql. 3 Instalación de php 5 4 Instalación de Asterisk 5 Configuración de teléfonos IP con un usuario SIP 6 Implementación del programa que maneja la base de datos 7 Diseño e implementación del sistema usando php-agi

Marca Digium TDM410p 4 puertos Componentes Hardware Procesador Intel Core Duo de 2.8 GHZ Tarjeta de Red 10/100 Mbps Ram 2 GB Disco Duro 80 GB Tarjeta analógica Marca Digium TDM410p 4 puertos Software Sistema Operativo Linux Distribución Centos 5.2 Arquitectura x86 Software IP PBX Asterisk 1.4 Base de datos MySQL Software adicional Java Development Kit 1.5

Archivos de configuración sip.conf [general] rtcachefriends=yes rtupdate=no rtautoclear=yes srvlookup=yes disallow=all allow=alaw allow=ulaw allow=gsm language=es callwaiting=no qualify=yes calltransfer=no callforwarding=no [901] type=friend secret=901 nat=yes host=dynamic canreinvite=no context=internal

Archivos de configuración chan_dahdi.conf [channels] usecallerid=yes hidecallerid=no callwaiting=no threewaycalling=yes transfer=yes echocancel=yes echotraining=yes inmediate=no group=1 context=internal signaling=fxs_ks channel => 4 system.conf fxsks=4 echocanceller=mg2,4 loadzone=us defaultzone=us

Archivos de configuración extensions.conf [general] autofallthrough=no clearglobalvars=no [internal] exten => 789,1,AGI(proyecto.php)

Base de datos del sistema Base de datos relacional Dos entidades se relacionan: Clientes y Deudas Clientes 1:N Deudas 1

Lenguaje de descripción de datos create table Clientes ( IDCliente int not null auto_increment, Nombres varchar(40) not null, Apellidos varchar(40) not null, telefono varchar(40), celular varchar(40), edad int, sexo varchar(40), domicilio varchar(200), cedula varchar(40) not null, estado int not null, primary key (IDCliente) )ENGINE=INNODB; create table Deudas ( IDDeuda int not null auto_increment, IDCliente int not null, monto double(7,2), FechaPago date, descripcion varchar(200), cancelado int not null, estado int not null, Confirmacion int, primary key (IDDeuda), foreign key (IDCliente) references Clientes (IDCliente) on delete cascade )ENGINE=INNODB;

Programa que controla la base de datos

Programa Principal Código Fuente Instancias de AGI #! /usr/bin/php -q error_reporting(E_ALL); require ('phpagi-2.14/phpagi.php'); Conexión a la Base $con = mysql_connect ('localhost', 'root', 'labtelecom09') or die (mysql_error()); mysql_select_db('SistemaConsultas',$con)or die (mysql_error()); Instancias de AGI $agi = new AGI(); $agi->answer(); Mensaje de Bienvenida del Sistema $agi- >exec(Playback," Bienvenida");

Programa Principal Bloque principal Descripción del Bloque principal do{ //Sistema de Consultas// } while($nummarca do!='999'); Descripción del Bloque principal Usuario no digita cédula do{ $result = $agi->get_data("Menu", 7000,10); $nummarcado = $result['result']; if($nummarcado!='999' && $nummarcado!= null) { //Ejecución de requerimientos y salidas del sistema// } while($nummarcado!='999');

Programa Principal Selección de datos del cliente $sql="select * from Clientes where cedula='$nummarcado';"; $res=mysql_query($sql,$con) or die ('ERROR SQL'); $r1=mysql_fetch_array ($res); Primer Caso: cédula no registrada if($r1['cedula']==$nummarcado) { //Ejecución de otros requerimientos// } else $agi->exec(Playback,"CedulaNoReg");

Programa Principal Segundo Caso: cédula registrada sin deudas $sql="select * from Deudas where IDCliente='".$r1['IDCliente']."'; and cancelado=0"; $res2 = mysql_query($sql,$con)or die (mysql_error()); if(mysql_num_rows($res2)== 0) {$agi->exec(Playback,"SinDeudas");}

Programa Principal Tercer caso: cédula registrada que posee deudas else {$agi->exec(Playback,"UstedTiene"); $CantDeudas = mysql_num_rows($res2); $agi->say_number($CantDeudas); $agi->exec(Playback,"Deudas"); …

Programa Principal Se reproducen los datos de cada deuda: while($r2=mysql_fetch_array($res2)) { $agi->exec(Playback,"UstedDebe"); $monto=$r2['monto']; $fechap=$r2['FechaPago']; $montos=explode(".",$monto); $fechas=explode("- ",$fechap); $agi->say_number($montos[0]); $agi->exec(Playback,"DolaresCon"); if($montos[1]=='00') {$agi->say_number(0);} else {$agi- >say_number($montos[1 ]);} $agi- >exec(Playback,"Centavo s");

Programa Principal Se reproducen las fechas a pagar de la deuda $agi->exec(Playback,"ydebepagarantesde"); $agi->say_number($fechas[2]); $agi->exec(Playback,"de"); switch($fechas[1]) { case 1: $cad="Enero"; break; case 2: $cad="Febrero"; break; case 3: $cad="Marzo"; break; case 4: $cad="Abril"; break; case 5: $cad="Mayo"; break;

Programa Principal … case 6: $cad="Junio"; break; case 7: $cad="Julio"; break; case 8: $cad="Agosto"; break; case 9: $cad="Septiembre"; break; case 10: $cad="Octubre"; break; case 11: $cad="Noviembre"; break; case 12: $cad="Diciembre"; break; } $agi->exec(Playback, $cad); $agi->exec(Playback,"del"); $agi->say_number($fechas[0]);

Programa Principal Confirmación del cliente $confirmacion = $agi->get_data("MensajeConfirmacion", 7000,1); $num = $confirmacion['result']; if($num==1) { $sql2="update Deudas set Confirmacion=1 where IDDeuda=$IDDeuda;"; $res=mysql_query($sql2,$con) or die ('ERROR SQL'); }

Programa Principal Fin del programa $agi->exec(Playback, "Despedida"); $agi->hangup(); ?>

PRUEBAS

Conclusiones 1 Se puede implementar un sistema telefónico automatizado de consultas de uso sencillo y que satisface las necesidades del usuario 2 La librería phpagi facilita en gran manera el desarrollo de aplicaciones complejas sobre Asterisk, permitiéndonos trabajar con un motor de base de datos tan utilizado como lo es MySQL. 3 Las herramientas que nos proporciona el software libre nos permite hacer sistemas útiles, escalables y a bajo costo. 4 Se necesita una aplicación que permita administrar la base de datos y poder ejecutar todas las operaciones sobre ella.

Recomendaciones 2) 3) 1) Utilizar SO estables y de licencia libre Manejar bien los contextos 2) Utilizar SO estables y de licencia libre 3) Servicios del sistema accesibles

Gracias por su atención!!! …alguna pregunta???