implementaciÓn del diseÑo de infraestructura de...
TRANSCRIPT
IMPLEMENTACIÓN DEL DISEÑO DE INFRAESTRUCTURA DE RED
GRÁFICO No.1
DISEÑO PARA EL FUNCIONAMIENTO DEL SERVIDOR ELASTIX Y SMS
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Para la comunicación de los equipos se utiliza un router D-LINK DIR 600 tomando en
cuenta que este tiene 1 puerto WAN y 4 puertos de RED LAN. Se configura la RED
172.16.1.0/24 y se asigna las siguientes direcciones IP a los equipos:
Servidor Base SMS – 172.16.1.251
Servidor de Telefonía Virtual Elastix – 172.16.1.250
PC Cliente Virtual – 172.16.1.100
Gateway Grandstream – 172.16.1.240
Los equipos adicionales a la red son:
Teléfono celular Android que sirve para enviar los mensajes de texto
conectado con 1 cable USB al Servidor Base.
Base Celular con 1 Antena que va conectado hacia el Gateway con un cable
telefónico con conector RJ-11.
INSTALACIÓN Y CONFIGURACIONES DEL SISTEMA OPERATIVO DEL
SERVIDOR BASE
En este sprint se procedió con la instalación del servidor operativo Centos 6,5 en el
servidor base con todas las configuraciones necesarias en el proyecto.
En la siguiente gráfica se muestra el pedido del disco cd-rom para proceder con la
instalación del sistema.
GRÁFICO No. 2
INSTALACIÓN DEL SISTEMA CENTOS 6,5
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Seteo de idioma español en el sistema:
GRÁFICO No. 3
CONFIGURACIÓN DE IDIOMA ESPAÑOL
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se configuran las direcciones IP de la tarjeta de red para tener acceso a la red:
GRÁFICO No. 4
CONFIGURACIÓN DE TARJETA DE RED
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración de la clave de administrador del servidor en la cual tiene todos los
privilegios para realizar cualquier cambio dentro del servidor:
GRÁFICO No. 5
CONFIGURACIÓN DE ACCESO ROOT
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se selecciona el diseño personalizado para poder particionar el disco de una mejor
manera:
GRÁFICO No. 6
CONFIGURACIÓN DE DISEÑO PERSONALIZADO DE HD
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Asignaciones de espacio en el boot, memoria swap y resto de disco duro:
GRÁFICO No. 7
PERSONALIZACIÓN DE DISCO DURO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se selecciona el modo de escritorio en la cual va a funcionar el servidor, y el escritorio
gnome de manera básica:
GRÁFICO No. 8
CONFIGURACIÓN DE ESCRITORIO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Instalación del MC que es un administrador de archivos en Linux:
GRÁFICO No. 9
INSTALACIÓN DE MC
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se procede a instalar un complemento en la parte de virtualización que sirve para
virtualizar equipos dentro del mismo y poder configurarlos en red:
GRÁFICO No. 10
INSTALACIÓN DE VIRTUALIZACIÓN
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se activa la alta disponibilidad al servidor para que no tenga problemas con las
máquinas virtuales y siempre se encuentre en estado activo:
GRÁFICO No. 11
INSTALACIÓN DE ALTA DISPONIBILIDAD
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Comienzo de la instalación del sistema operativo Centos 6,5 esto tiene un tiempo de
espera aproximado de 20 minutos según el rendimiento del equipo:
GRÁFICO No. 12
INSTALACIÓN DE CENTOS 6,5
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se confirma el acuerdo de licencia de las normas de GNU/LINUX:
GRÁFICO No. 13
CONFIRMACIÓN DE LICENCIA
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se crea el usuario con el cual se iniciará sesión:
GRÁFICO No. 14
CREACIÓN DE USUARIO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración de fecha y hora del servidor base:
GRÁFICO No. 15
SETEO DE FECHA Y HORA
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
El archivo de volcado captura errores en el sistema base en caso de algún problema
de fallos en el Kernel:
GRÁFICO No. 16
HABILITACIÓN DE ARCHIVO DE VOLCADO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Ingreso al usuario creado anteriormente:
GRÁFICO No. 17
LOGUEO DE USUARIO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
CONFIGURACIÓN DE ARCHIVOS DE RED EN SERVIDOR BASE
Se configura el nombre del servidor en el hostname:
[root@server ~]# hostname
server.sms
Resolución de nombre del archivo host:
[root@server ~]# cat /etc/hosts
127.0.0.1 server.sms server localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Resolución de Servicio DNS para poder acceder a internet:
[root@server ~]# more /etc/resolv.conf
# Generated by NetworkManager
#search elastix
nameserver 8.8.8.8
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
CREACIÓN DE INTERFAZ VIRTUAL PARA MODO BRIDGE
Se configura la tarjeta de red en modo puente para poder acceder a las máquinas
virtuales. La primera es la tarjeta de red física, esta tiene la IP 172.16.1.251:
[root@server ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
La segunda es la tarjeta de red virtual para configurar en red las máquinas virtuales:
[root@server ~]# more /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=172.16.1.251
NETMASK=255.255.255.0
GATEWAY=172.16.1.1
DNS=8.8.8.8
STP=ON
DELAY=0
INSTALACIÓN DE MYSQL
Se realiza la instalación de MySQL, esta herramienta permite ejecutar script en Shell
con comandos MySQL en red. Se procede la instalación con el comando yum como
se muestra a continuación:
yum install mysql-server
El siguiente comando sirve para dejar activo el Servicio de base de datos cada vez que se inicie el equipo.
chkconfig mysqld on
Se inicia el servicio por primera vez
service mysqld start
Con el siguiente comando se verifica el estado de Servicio de base de datos
service mysqld status
GRÁFICO No. 18
VISUALIZACIÓN DEL SERVICIO MYSQL ACTIVO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR VIRTUAL ELASTIX
En el presente sprint se detallará la instalación del servidor Elastix que esta
Virtualizado en el servidor base:
GRÁFICO No. 19
INSTALACIÓN DE SISTEMA ELASTIX 2.4 VIRTUAL
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se procederá a dar el nombre a la máquina virtual:
GRÁFICO No. 20
NOMBRE DE LA MÁQUINA VIRTUAL
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se busca el archivo .ISO que contiene el sistema de Elastix para proceder con la
instalación de dicho sistema:
GRÁFICO No. 21
CREACIÓN DE LA MÁQUINA VIRTUAL CON ISO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración de memoria RAM para la máquina virtual
GRÁFICO No. 22
ASIGNACIÓN DE MEMORIA
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración del disco duro para la máquina virtual:
GRÁFICO No. 23
ASIGNACIÓN DE DISCO DURO VIRTUAL
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Instalación de Elastix Virtualizado:
GRÁFICO No. 24
COMIENZO DE LA INSTALACIÓN DE SISTEMA ELASTIX 2.4 VIRTUAL
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración de disco duro virtual:
GRÁFICO No. 25
PARTICIÓN DE DISCO DURO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
GRÁFICO No. 26
ACTIVACIÓN DE TARJETA DE RED EN LA INSTALACIÓN
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración de la dirección IP 172.16.1.250:
GRÁFICO No. 27
CONFIGURACIÓN DE IP A LA TARJETA DE RED
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración de los DNS primarios de google 8.8.8.8 y la puerta de enlace
172.16.1.1:
GRÁFICO No. 28
CONFIGURACIÓN DE DNS
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración del nombre de host server.elastix
GRÁFICO No. 29
NOMBRE DE HOST
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se estableció la contraseña root: ‘zhrufr1234’
GRÁFICO No. 30
CONFIGURACIÓN DE CONTRASEÑA ROOT
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
GRÁFICO No. 31
PROCESO DE INSTALACIÓN ELASTIX 2.4
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración de la contraseña del servidor de base de datos mysql : ‘zhrufr1234’
GRÁFICO No. 32
CONFIGURACIÓN DE CONTRASEÑA MYSQL
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se establece la contraseña para ingresar a la interfaz gráfica de PBX de Elastix
GRÁFICO No. 33
CONFIGURACIÓN DE CONTRASEÑA PBX
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Con la IP 172.16.1.250 se ingresa al servidor de Elastix vía WEB
GRÁFICO No. 34
INGRESO DE ELASTIX
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
RECONFIGURACIÓN DE ARCHIVO DE CONTEXTO DE ASTERISK
El Archivo de contexto es el que define el plan de marcado que seguirá la central
telefónica, se encuentra en la ruta /etc/asterisk/extensions_custom.conf. El archivo
tiene varios contextos por el cual realiza las llamadas.
Se incluirá un nuevo contexto el cual se llamará “call-file-test” y se lo configurará de
la siguiente manera:
[call-file-test]
exten => s,1,wait(12)
exten => s,2,Playback(prueba1)
exten => s,3,Hangup()
Dónde:
“exten => s,1,wait(12)” tiempo de espera para realizar la llamada
“exten => s,2,Playback(prueba1)” reproduce el archivo Prueba1, que es el audio
que se reproduce en la llamada
“exten => s,3,Hangup()” termina la llamada
GRÁFICO No. 35
AGREGACIÓN DE NUEVO CONTEXTO EN extensions_custom.conf
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
GRÁFICO No.48
CONFIGURACIÓN DEL CONTEXTO call-file-test
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
CREACIÓN DE LAS TRONCALES SIP
En el siguiente sprint se configura la troncal SIP definida como Celular1 para poder
autenticar con el Gateway Grandstream con sus respectivos usuarios y contraseñas.
GRÁFICO No. 36
VERIFICACIÓN DEL SERVIDOR ELASTIX CON LA TRONCAL
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
EL PEER details contiene la siguiente configuración:
Host seria la dirección IP del equipo Gateway Grandstream.
username es el usuario administrador del equipo.
secret es la clave de autenticación del equipo Gateway grandstream.
type es el modo de acceso para las llamadas, existen 3 tipos peers es solo
salida de llamadas, user es llamadas entrantes y friend realiza salida y entrada
de llamadas.
Disalow son los permisos para poder utilizar todos los códec de voz.
Allow permite un códec específico, el códec g729.
CONFIGURACIÓN DE MYSQL EN LA BASE DE DATOS ELASTIX
Una de las Configuraciones de MySQL es permitir el acceso remoto que permite
conectarse a la base de datos desde otras estaciones de trabajo. Para garantizar el
acceso remoto se realiza la siguiente configuración.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'zhrufr1234' WITH
GRANT OPTION;
Con el siguiente comando se actualizan los privilegios de root en la red:
FLUSH PRIVILEGES;
Para acceder a la base de datos MySQL se ejecuta con el comando mysql -u root –
p
GRÁFICO No. 37
ACCESO A LA BASE DE DATOS MYSQL CON ROOT
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Con el comando ‘show databases’ se muestran las bases de datos en Elastix y con
el comando ‘use AudioElastixDialerBD;’ se ingresa a la base de datos
GRÁFICO No. 38
VERIFICACIÓN DE BASE DE DATOS
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Con el comando ‘show tables’ se muestran las tablas de la base de datos, en el
servidor Elastix se tiene solamente una tabla denominada ‘calloutnumeros‘.
GRÁFICO No. 39
VERIFICACIÓN TABLAS EN EL SERVIDOR
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
La tabla “calloutnumeros” recibe datos de la base de datos principal (base de datos
del portal web), a través de un insert, el insert contiene los datos de los campos a
llenar en nuestra tabla.
Los campos de la tabla “calloutnumeros” necesarios para la ejecución del script de
automatización son:
Id: Define el numero subsiguiente en la lista de la base de datos.
Teléfono: Número celular móvil del usuario.
Nombre: Nombre y apellido del usuario.
Llamada: Es una bandera, variable ‘n’ llamada no realizada; variable ‘s’
llamada realizada.
SMS: Es una bandera, variable ‘n’ mensaje no enviado; variable ‘s’ mensaje
realizado.
GRÁFICO No. 40
DESCRIPCIÓN DE LOS CAMPOS DE LA TABLA
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
CONFIGURACIÓN DEL GATEWAY
En el siguiente sprint se configura el Gateway Grandstream para habilitar la
comunicación con el Servidor Elastix. En configuraciones generales se pondrá la IP
del servidor SIP en este caso del servidor Elastix que es la IP 172.16.1.250
GRÁFICO No. 40
DIRECCIONAMIENTO DE IP
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
GRÁFICO No. 41
ESTADO DE CONFIGURACIÓN DE LA RED DEL GATEWAY
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Configuración de la troncal 100001 previamente en el servidor Elastix, así como
también el ID de autenticación y su respectiva contraseña.
GRÁFICO No. 42
CONFIGURACIÓN DE LA CUENTA DE USUARIO SIP
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
EXPLICACIÓN DE FUNCIONAMIENTO DE BASE CELULAR
GRÁFICO No. 43
BASE CELULAR TELCOM
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
La base celular tiene una antena GSM y a la vez va conectada con un cable de par
telefónico con el conector RJ-11 hacia el Gateway Grandstream. El Gateway da el
tono de marcado para poder realizar la llamada. La base celular funciona con
Frecuencia 850/ 900/1800/ 1900 y su velocidad de voz en aire es de 270 kbps, La
antena está compuesta por un cable coaxial RG174 de 50 Homios, En el Ecuador se
utilizan las frecuencias GSM-850 y 1900 MHz.
INSTALACIÓN DE CODEC DE AUDIO CODEC_G729.SO
Se instala el códec audio G729.SO de acuerdo a la versión del sistema operativo, el
mismo que realiza mejoras en la reproducción de audios en los formatos .gsm. La
instalación se la realiza de la siguiente manera:
Se descarga el codec seleccionado en el directorio /usr/lib/asterisk/modules/
cd /usr/lib/asterisk/modules/
wget http://asterisk.hosting.lv/bin/codec_g729-ast18-gcc4-glibc-x86_64-core2-
sse4.so
Renombrar el codec
cd /usr/lib/asterisk/modules/
mv codec_g729-ast18-gcc4-glibc-x86_64-core2-sse4.so codec_g729.so
Se da los permisos de ejecución:
chmod +x codec_g729.so
Se reinicia el servicio de asterisk
asterisk -rvvvv
CLI>core restart now
Para validar que el codec se hay instalado correctamente se ejecuta:
asterisk -rvvv
*CLI>core show translation
GRÁFICO No. 44
VERIFICACIÓN DE CODEC DE AUDIO CODEC_G729.SO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
INSTALACIÓN DEL PC VIRTUAL CLIENTE
Instalación sistema operativo Windows 7 para poder administrar mediante una
interfaz gráfica la base de datos del Servidor Elastix a través de la herramienta
SQLYOG.
GRÁFICO No. 45
WINDOWS 7 VIRTUALIZADO EN KVM
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
GRÁFICO No. 46
WINDOWS 7 INSTALADO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
SQL YOG
Para la gestión de la base de datos de MySQL mediante interfaz gráfica se utiliza la
herramienta SQL YOG.
GRÁFICO No. 47
INGRESO A LA BASE DE DATOS
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Con la herramienta SQLYOG se puede visualizar la base de datos Elastix
GRÁFICO No. 48
EJEMPLO DE UNA CONSULTA EN LA BASE DE DATOS
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
PUTTY
Esta herramienta permite conectar vía consola a los servidores mediante un PC con
Windows, la ventaja es de tener varias consolas abiertas a la vez y monitorear los
procesos y log.
GRÁFICO No. 49
INGRESO AL PUTTY
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
GRÁFICO No. 50
VARIOS ACCESOS SIMULTÁNEOS CON PUTTY
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
WINSCP
Permite la gestión y transferencia de archivos entre un pc Windows y un sistema
Linux:
GRÁFICO No. 51
ACCESO CON WINSCP
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Notepad ++
Con el programa Notapad ++ se facilita modificar el código PHP en línea y los códigos
en script de los Shell en Linux.
GRÁFICO No. 52
ACCESO CON WINSCP
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
PROCESO DE LLAMADAS AUTOMATIZADAS (DIAGRAMA DE FLUJO)
Se muestra el siguiente diagrama de flujo que presenta la secuencia de la ejecución
de las llamadas y envió de mensaje de texto al usuario que ha culminado la
capacitación del curso virtual ABC de la democracia.
El diagrama podrán visualizarlo en el Anexo No.2
MÓDULO DE LLAMADAS EN EL SERVIDOR ELASTIX
Respecto al módulo de llamadas se configura los archivos .call los mismos que se
encuentran ubicados en la ruta /var/spool/asterisk/outgoing/. Este archivo contiene
los parámetros necesarios para generación de la llamada, su sintaxis es la siguiente:
GRÁFICO No. 53
ARCHIVOS .CALL
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Dónde:
Channel: Canal (ruta troncal) sobre el que realiza la llamada.
Callerid: Número de teléfono celular.
MaxRetries: Máximo número de reintentos de marcado, si no está
especificado el valor por default es 0 y solo un intento será realizado.
RetryTime: Número de segundos de espera antes de realizar el siguiente
intento, si no se especifica el valor por default es de 300 segundos.
WaitTime: Numero de segundos que el sistema debe esperar para que la
llamada sea respondida por defecto es de 45 segundos.
Context: Contexto del destino.
Extensión: La extensión destino, es la ejecución del plan de marcado,
empieza si el dispositivo es respondido
Priority: La prioridad destino, si no se especifica el valor por defecto es 1
CREACIÓN DE SCRIPT DE AUTOMATIZACIÓN EN EL SERVIDOR
ELASTIX
Configuración de un script Shell de Linux que permite la ejecución de un proceso
automatizado para realizar una llamada consultando los registros de la base de datos
Elastix.
FUNCIONAMIENTO DEL SCRIPT
El archivo de script se ejecuta en el Shell del servidor Elastix y se encuentra en la ruta
/var/. Posee el nombre de ‘sh_elastic_call.sh ‘, realiza el proceso de consultar a la
tabla ‘calloutnumeros’ y si un registro en el campo llamada tiene la bandera ‘n’ extrae
los datos de dicho registro y los envía al archivo .call para luego ejecutar la llamada.
El script se compone de los siguientes bloques:
Rutas de Desarrollo: Dirección de las rutas para poder realizar llamadas
salientes automáticas.
Configuración Elastix: Conexión hacia el servidor Elastix a la Base de datos.
Sentencias SQL: Realiza la consulta a la base de datos
Proceso de bloqueo de Archivo: Realiza un bloqueo de Script Shell para
que no se ejecute doble vez un script.
Generación de archivos .call: Recibe los parámetros consultados en la base
de datos del campo llamada con bandera ‘n’
Actualización de la base de datos: Actualiza la base de datos en el campo
llamada, ubicando una nueva variable con bandera ‘s’ ya que fue realizada la
llamada.
El código completo se encuentra en el Anexo No.3
INSTALACIÓN Y CONFIGURACIÓN DE WEB MIN PARA PROGRAMACIÓN
AUTOMÁTICA DEL SCRIPT
El servicio de web min administra de manera gráfica la herramienta Crontab, la cual
permite programar el script en un horario o en intervalos de tiempo de acuerdo a
nuestras necesidades. El web min se lo obtiene en la siguiente ruta:
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.620-1.noarch.rpm
El comando rpm procede a instalar el paquete de web min:
rpm -U webmin-1.620-1.noarch.rpm
El puerto que utiliza web min por defecto es el 10000
[root@server ~]# cat /etc/webmin/miniserv.conf | grep port
port=10000.
Ingresando al navegador se ubica el siguiente enlace para entrar al webmin
https://172.16.1.250:10000/
GRÁFICO No. 54
VISUALIZACIÓN DEL SERVICIO WEBMIN ACTIVO VÍA WEB
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
CREACIÓN DE UNA TAREA PROGRAMADA MEDIANTE CRONTAB PARA LA
EJECUCIÓN DE UN SHELL CADA 5 MINUTOS
En el presente sprint se creará una tarea programada con la herramienta crontab, la
misma que se gestionará en interfaz gráfica con web min.
Para visualizar la tarea programada crontab desde consola se ejecuta el siguiente
comando. ‘crontab –l’
El Crontab para la ejecución programada del script es el siguiente:
GRÁFICO No. 55
VISUALIZACIÓN
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Dónde:
*/5 * * * * : Realizar el proceso cada 5 minutos.
Sh –x: Ejecuta el script en el Shell de Linux.
/var/sh_elastic_call.sh: Ruta del script que se está ejecutando.
/var/log.log: Son los estados de ejecución del script.
Adicionalmente se crea un log para verificar el momento en que se ejecuta el script
en un determinado tiempo, con este proceso se puede verificar cuando fue la última
vez que se ejecutó el script.
[root@server ~]# ll /var/log.log
-rw-r--r-- 1 root root 51 ago 18 18:45 /var/log.lo
En el siguiente gráfico se verifica la ruta donde se crea la tarea programada:
GRÁFICO No. 56
RUTA EN EL WEB MIN DONDE SE CREA LA TAREA PROGRAMADA
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Con la herramienta web min se realizan pruebas para ejecutar el script directamente
y no esperar el tiempo programado.
GRÁFICO No. 57
EDICIÓN DE LA TAREA DE CRONTAB EN WEBMIN
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
PRUEBAS DE LLAMADAS AUTOMÁTICAS
Después de haber realizado la selección de un registro de un número telefónico con
la bandera del campo llamada en ‘n’ el mismo es procesado.
GRÁFICO No. 58
MUESTRA DE LA BASE DE DATOS CON BANDERA ‘N’
Fuente: Investigación del tema Elaborado por: Isaac Zhague
De tal manera que la llamada es realizada, el mismo que ingresa al archivo .call para
luego ser procesado en el script Shell de Linux, la bandera se actualiza a ‘s’ una vez
ejecutada la llamada.
GRÁFICO No. 59
MUESTRA DE LA BASE DE DATOS CON BANDERA ‘S’
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
INSTALACIÓN DE SDK DE ANDROID
En el presente sprint se detalla como habilitar el funcionamiento de los teléfonos
android con el servidor base, para esto es necesario instalar el SDK de android en el
mismo.
Se actualiza el sistema base y luego se procede con la instalación del SDK con las
librerías necesarias que hacen que funcione. Luego se instalan otras librerías que
hacen que funcione el framework de java en el sistema operativo Linux de 64 bits
yum install libstdc++.i686
yum install compat-libstdc++-33.i686
Desde la página de android se descargan los archivos de configuración que es el
Androide Studio y el SDK Tools el archivo que se descarga se lo ubica en la siguiente
ruta:
[root@server platform-tools]# pwd
/opt/android-sdk-linux_x86-1.6_r1/platform-tools
INSTALACIÓN DE MC MIDNIGHT COMMANDER
La instalación de la herramienta MC MIDNIGHT COMMANDER se realizará desde el
sistema operativo Centos 6.5, o por medio de una descarga, esta herramienta controla
de mejor manera los archivos Linux en este caso para configurar las variables de
entorno del SDK de Android. Para ingresar a la herramienta se ejecuta el siguiente
comando:
[root@server platform-tools]#mc
Se configura las variables de entorno apuntando al SDK de android en la ruta /root/,
el archivo profile está oculto y se lo visualiza con el MC.
GRÁFICO No. 60
INGRESO AL MC
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Con la tecla F4 se modifica el archivo .bash_profile, se cierra la sesión y se vuelve
abrir para que refresque los cambios o simplemente se reinicia el equipo.
GRÁFICO No. 61
CONFIGURACIÓN DE .BASH_PROFILE
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Una vez refrescados los cambios con el siguiente comando se podrá visualizar el
dispositivo android conectado:
GRÁFICO No. 62
VISUALIZACIÓN DE TELÉFONO EN LINUX
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
CONIFIGURACIÓN DE TELÉFONO ANDROID
Se configura el teléfono Android para el funcionamiento con el servidor base en la
opción de ajustes. Se activa la conexión fija y depuración USB en modo desarrollador.
GRÁFICO No. 63
CONFIGURACIÓN DEL TELÉFONO ANDROID
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
CREACIÓN DE SHELL DE AUTOMATIZACIÓN SMS
Se presenta un Shell de Linux que permite la ejecución de un proceso automatizado
para enviar un mensaje de texto consultando los registros de la base de datos Elastix.
FUNCIONAMIENTO DEL SCRIPT
El archivo de script se ejecuta en el shell del servidor Base y se encuentra en la ruta
/var/. Posee el nombre de ‘sh_elastic_sms.sh’, realiza el proceso de consultar a la
tabla ‘calloutnumeros’ y si un registro en el campo SMS tiene la bandera ‘n’, extrae
los datos de dicho registro y los envía al archivo .call para luego ejecutar el envío de
SMS.
El script se compone de los siguientes bloques:
Rutas de Desarrollo: Dirección de las rutas para poder realizar el envío de
mensaje de texto
Configuración Elastix: Conexión hacia el servidor Elastix y la Base de datos.
Sentencias SQL: Realiza la consulta a la base de datos.
Proceso de bloqueo de Archivo: Realiza un bloqueo de Script Shell para
que no se ejecute doble vez un script.
Envió de mensaje de texto: Recibe los parámetros consultados en la base
de datos del campo SMS con bandera ‘n’.
Actualización de la base de datos: Actualiza la base de datos en el campo
SMS, ubicando una nueva variable con bandera ‘s’ ya que fue enviado el
mensaje de texto .
El código completo se encuentra en el Anexo No.4
PROGRAMACIÓN DEL SHEL DE SMS CON WEB MIN
El crontab hace posible la programación del script para el envío automático de SMS
y es configurado en el servidor base. Se realiza la misma configuración para las
llamadas automáticas
GRÁFICO No. 64
CONFIGURACIÓN DE CRONTAB
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Dónde:
*/5 * * * * : Realizar el proceso cada 5 minutos.
Sh –x: Ejecuta el script en el Shell de Linux.
/var/sh_elastic_sms.sh: Ruta del script que se está ejecutando.
/var/log.log: son los estados de ejecución del script.
En el siguiente gráfico se verifica la ruta donde se crea la tarea programada
GRÁFICO No. 65
RUTA EN EL WEB MIN DONDE SE CREA LA TAREA PROGRAMADA
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Para realizar las respectivas pruebas se ejecuta el script directamente y no se espera
el tiempo programado.
GRÁFICO No. 66
EDICIÓN DE LA TAREA DE CRONTAB EN WEBMIN
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
PRUEBAS DE SMS AUTOMÁTICOS
En la tabla de base de datos la bandera SMS tiene ‘n’ que significa no enviado.
GRÁFICO No. 67
MUESTRA DE LA BASE DE DATOS CON BANDERA ‘N’
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Cuando es enviado el mensaje de texto el campo SMS cambia a ‘s’ que significa
enviado.
GRÁFICO No. 68
MUESTRA DE LA BASE DE DATOS CON BANDERA ‘S’
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
PROCESO COMPLETO DE PRUEBAS DE LLAMADAS Y SMS
Cuando en la base de datos los registros tienen la variable ‘n’ en el campo llamada y
SMS, significa que es un registro nuevo.
GRÁFICO No. 69
MUESTRA DE LA BASE DE DATOS CON BANDERA ‘s’ Y ‘n’
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
En este caso al momento de ejecutarse el script programado por el Crontab se
ejecutará la llamada automática y se enviará el SMS. Se puede monitorear a través
del CLI de Asterisk las llamadas salientes
GRÁFICO No. 70
CONSOLA DE CLI DE ASTERISK
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Cuando la llamada es realizada y los mensajes de texto enviados las banderas
cambian a la variable ‘s’.
GRÁFICO No. 71
MUESTRA DE LA BASE DE DATOS CON BANDERA ‘S’
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
Se adjuntan imágenes del momento en que la llamada es efectuada al usuario y del
mensaje texto enviado.
GRÁFICO No. 72
LLAMADA ENTRANTE
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
GRÁFICO No. 73
MENSAJE DE TEXTO RECIBIDO
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES
DISEÑO E IMPLEMENTACIÓN DE UN PORTAL WEB PARA EL CONSEJO
NACIONAL ELECTORAL CON EL FIN DE AYUDAR EN LA CAPACITACIÓN
A LOS CIUDADANOS DEL ECUADOR ACERCA DEL CÓDIGO DE LA
DEMOCRACIA ENFOCADO EN EL DISEÑO E IMPLEMENTACIÓN
DE UN SERVIDOR ELASTIX QUE GENERA LLAMADAS
AUTOMÁTICAMENTE A BASES DE DATOS
SELECCIONADAS
PROYECTO DE TITULACIÓN
Previa a la obtención del Título de:
INGENIERO EN NETWORKING Y TELECOMUNICACIONES
AUTOR: CARLOS ISAAC ZHAGUE BARZOLA
TUTOR: LCDA. VIVIANA PINOS MEDRANO M.SC.
GUAYAQUIL – ECUADOR
2016
REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA
FICHA DE REGISTRO DE TESIS
TITULO: DISEÑO E IMPLEMENTACIÓN DE UN PORTAL WEB PARA EL CONSEJO NACIONAL ELECTORAL CON EL FIN DE AYUDAR EN LA CAPACITACIÓN A LOS CIUDADANOS DEL ECUADOR ACERCA DEL CÓDIGO DE LA DEMOCRACIA ENFOCADO EN EL DISEÑO E IMPLEMENTACIÓN DE UN SERVIDOR ELASTIX QUE GENERA LLAMADAS AUTOMÁTICAMENTE A BASES DE DATOS SELECCIONADAS
REVISORES: Lcdo. Roberto Zurita M.Sc., Lcdo. Oscar Apolinario M.Sc.
INSTITUCIÓN: Universidad de Guayaquil
FACULTAD: Ciencias Matemáticas y Físicas
CARRERA: Ingeniería en Networking y Telecomunicaciones
FECHA DE PUBLICACIÓN: 09/12/2016
N° DE PAGS: 86
AREA TEMÁTICA: Tecnología de Redes de Telefonía
PALABRAS CLAVES: Virtualización, Servidor de Telefonía, Elastix
RESUMEN: La capacitación del programa ABC de la democracia perteneciente al CNE que actualmente es presencial, se la innovará utilizando las tecnologías de la información para llegar a la ciudadanía. El presente proyecto informa a los usuarios registrados en el curso virtual cuando lo finalicen a través de un servidor de telefonía generando llamadas automáticas de tipo notificación. Se utiliza la modalidad de investigación cuantitativa incrementando la objetividad del análisis con una encuesta dirigida a personas con perfil profesional del área de telefonía. Gracias a su criterio se obtuvo un análisis objetivo de los resultados. Con la herramienta de virtualización se instala Elastix como servidor de telefonía para gestionar las comunicaciones y realizar las llamadas. El servidor Elastix permite levantar una troncal SIP y realizar las llamadas a través de un Gateway de telefonía que conecta con una base celular móvil, este proceso es automatizado con un script programado que se ejecuta cada 5 minutos. Como conclusión, Elastix establece un correcto funcionamiento de sus procesos generando una llamada automática a todos los números telefónicos registrados en la base de datos.
N° DE REGISTRO (en base de datos): N° DE CLASIFICACIÓN:
DIRECCIÓN URL: www.cisc.ug.edu.ec
ADJUNTO PDF SI NO
CONTACTO CON AUTOR:
Teléfono: 0995701195
Email: [email protected]
CONTACTO DE LA INSTITUCIÓN
Nombre: Lcda. Viviana Pinos Medrano M.Sc.
Teléfono: 042307729-0982668282
x
II
CARTA DE APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de investigación, “DISEÑO E
IMPLEMENTACIÓN DE UN PORTAL WEB PARA EL CONSEJO NACIONAL
ELECTORAL CON EL FIN DE AYUDAR EN LA CAPACITACIÓN A LOS
CIUDADANOS DEL ECUADOR ACERCA DEL CÓDIGO DE LA DEMOCRACIA
ENFOCADO EN EL DISEÑO E IMPLEMENTACIÓN DE UN SERVIDOR
ELASTIX QUE GENERA LLAMADAS AUTOMÁTICAMENTE A BASES DE
DATOS SELECCIONADAS” elaborado por el Sr. CARLOS ISAAC ZHAGUE
BARZOLA alumno no titulado de la Carrera de Ingeniería en Networking y
Telecomunicaciones de la Facultad de Ciencias Matemáticas y Físicas de la
Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en
Networking y Telecomunicaciones, me permito declarar que luego de haber
orientado, estudiado y revisado, la apruebo en todas sus partes.
Atentamente
Lcda. Viviana Pinos Medrano M.Sc.
III
DEDICATORIA
Dedicado a todos aquellos amigos
y familiares que brindaron fuerzas
para seguir con constancia en mi
carrera y me motivaron a seguir
hasta el final. Mención especial a
mi hermana Esther Zhague, con su
apoyo inicie esta etapa profesional
de mi vida.
IV
AGRADECIMIENTO
Quiero agradecer a aquellos
docentes que más allá de ser un
profesor, fueron ejemplos a
seguir y que con entusiasmo
compartían sus conocimientos
formando parte de mi proceso al
camino hacia ser un profesional.
V
TRIBUNAL PROYECTO DE TITULACIÓN
Ing. Eduardo Santos Baquerizo, M.Sc.
DECANO DE LA FACULTAD
CIENCIAS MATEMÁTICAS Y FÍSICAS
Lcdo. Roberto Zurita del Pozo M.Sc.
MIEMBRO DEL TRIBUNAL
Ing. Harry Luna Aveiga, M.sc.
DIRECTOR
CINT
Lcdo. Oscar Apolinario Arzube M.Sc.
MIEMBRO DEL TRIBUNAL
Lcda. Viviana Pinos Medrano M.Sc.
DIRECTOR DEL PROYECTO DE TITULACIÓN
Ab. Juan Chávez A.
SECRETARIO
VI
DECLARACIÓN EXPRESA
“La responsabilidad del contenido de este
Proyecto de Titulación, me corresponden
exclusivamente; y el patrimonio intelectual de
la misma a la UNIVERSIDAD DE
GUAYAQUIL”
CARLOS ISAAC ZHAGUE BARZOLA
C.I. 0926633876
“Diseño e implementación de un portal web
para el consejo nacional electoral con el fin
de ayudar en la capacitación a los ciudadanos
del Ecuador acerca del código de la democracia.
Enfocado en el diseño e implementación de
un servidor Elastix que genera llamadas
automáticamente a bases de datos seleccionadas”
VII
. UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES
DISEÑO E IMPLEMENTACIÓN DE UN PORTAL WEB PARA EL CONSEJO
NACIONAL ELECTORAL CON EL FIN DE AYUDAR EN LA CAPACITACIÓN
A LOS CIUDADANOS DEL ECUADOR ACERCA DEL CÓDIGO DE LA
DEMOCRACIA ENFOCADO EN EL DISEÑO E IMPLEMENTACIÓN
DE UN SERVIDOR ELASTIX QUE GENERA LLAMADAS
AUTOMÁTICAMENTE A BASES DE DATOS
SELECCIONADAS
Proyecto de Titulación que se presenta como requisito para optar por el título de
INGENIERO EN NETWORKING Y TELECOMUNICACIONES
Autor: Carlos Isaac Zhague Barzola
C.I.: 0926633876
Tutor: Lcda. Viviana Pinos Medrano M.Sc.
Guayaquil, diciembre del 2016
VIII
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de Tutor del proyecto de titulación, nombrado por el Consejo
Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de
Guayaquil.
CERTIFICO:
Que he analizado el Proyecto de Titulación presentado por el estudiante CARLOS
ISAAC ZHAGUE BARZOLA como requisito previo para optar por el título de
Ingeniero en Networking Y Telecomunicaciones cuyo tema es:
DISEÑO E IMPLEMENTACIÓN DE UN PORTAL WEB PARA EL CONSEJO
NACIONAL ELECTORAL CON EL FIN DE AYUDAR EN LA CAPACITACIÓN A
LOS CIUDADANOS DEL ECUADOR ACERCA DEL CÓDIGO DE LA
DEMOCRACIA ENFOCADO EN EL DISEÑO E IMPLEMENTACIÓN DE UN
SERVIDOR ELASTIX QUE GENERA LLAMADAS AUTOMÁTICAMENTE A
BASES DE DATOS SELECCIONADAS
Considero aprobado el trabajo en su totalidad.
Presentado por:
ZHAGUE BARZOLA CARLOS ISAAC 0926633876
Tutor: Lcda. Viviana Pinos Medrano M.Sc.
Guayaquil, diciembre del 2016
IX
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES
Autorización para Publicación de Proyecto de Titulación en Formato Digital 1. Identificación del Proyecto de Titulación
Nombre Alumno: Carlos Isaac Zhague Barzola
Dirección: Nicolás Augusto González y la 41
Teléfono: 0995701195 E-mail: [email protected]
Facultad: Matemáticas y Física
Carrera: Networking y Telecomunicaciones
Título al que opta: Ingeniero en Networking y Telecomunicaciones
Profesor guía: Lcda. Viviana Pinos Medrano M.SC
Título del Proyecto de titulación “Diseño e implementación de un portal web para el consejo nacional electoral con el fin de ayudar en la capacitación a los ciudadanos del Ecuador acerca del código de la democracia. Enfocado en el diseño e implementación de un servidor Elastix que genera llamadas automáticamente a bases de datos seleccionadas”
Tema del Proyecto de Titulación: Notificaciones automáticas, Centrales Telefónicas
2. Autorización de Publicación de Versión Electrónica del Proyecto de Titulación A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de este Proyecto de titulación. Publicación electrónica:
Inmediata X Después de 1 año
Firma Alumno 3. Forma de envío: El texto del proyecto de titulación debe ser enviado en formato Word, como archivo .Doc. O .RTF y .Puf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .TIFF.
DVDROM X CDROM
X
ÍNDICE GENERAL
CARTA DE APROBACIÓN DEL TUTOR II
DEDICATORIA III
AGRADECIMIENTO IV
TRIBUNAL DE PROYECTO DE TITULACIÓN V
DECLARACIÓN EXPRESA VI
AUTORÍA VII
CERTIFICADO DE ACEPTACIÓN DEL TUTOR VIII
AUTORIZACIÓN PARA PUBLICACIÓN IX
ÍNDICE GENERAL X
ABREVIATURAS XIII
ÍNDICE DE CUADROS XIV
ÍNDICE DE GRÁFICOS XVI
RESUMEN XXI
ABSTRACT XXII
INTRODUCCIÓN 1
CAPÍTULO I
EL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA 5
Ubicación del problema en un contexto 5
Situación conflicto. Nudos críticos 5
Causas y consecuencias del problema 6
Delimitación del problema 6
Formulación del problema 7
Evaluación del problema 7
XI
Alcances del problema 8
OBJETIVOS DE LA INVESTIGACIÓN 8
JUSTIFICACIÓN E IMPORTANCIA DE LA INVESTIGACIÓN 9
CAPÍTULO II
MARCO TEÓRICO
Antecedentes del Estudio 11
Fundamentación Teórica 14
Fundamentación Social 24
Fundamentación Legal 24
Idea a defender 28
Definiciones Conceptuales 28
CAPÍTULO III
METODOLOGÍA DE LA INVESTIGACIÓN
Modalidad de la investigación (pura o aplicada) 30
Tipo de investigación (exploratoria, explicativa o experimental) 31
Población y muestra 31
Técnicas e instrumentos de recolección de datos 32
Recolección de la información 33
Procesamiento y análisis 34
Validación de la Idea a Defender 44
CAPÍTULO IV
PROPUESTA TECNOLÓGICA 45
Análisis de la factibilidad 72
Factibilidad Operacional 72
XII
Factibilidad Técnica 72
Factibilidad Económica 73
Factibilidad Legal 75
Etapas de la Metodología del Proyecto 77
Entregables del Proyecto 79
Criterios de Validación de la Propuesta 79
Criterios de Aceptación del Producto 81
Conclusiones y Recomendaciones 82
BIBLIOGRAFÍA 84
ANEXOS
XIII
ABREVIATURAS
FTP Archivos de Transferencia
SIP Proveedor de Servicio de Internet
Mtra. Maestra
M.Sc Master
URL Localizador de Fuente Uniforme
www World Wide Web (red mundial)
IM Mensajería instantánea.
VoIP Voz sobre IP
PBX Private Branch Exchange
IP Protocolo de Internet
TIC Tecnologías de la Información y la Comunicación
SIP Proveedor de servicios de Internet
LOTEL Ley Orgánica de Telecomunicaciones
CNE Consejo Nacional Electoral
PC Computadora personal
CD Disco compacto
S.O. Sistema operativo
UTP Par trenzado sin blindaje
CNT Corporación Nacional de Telecomunicaciones
SMS Servicio de Mensajes Cortos
FXO Foreign Exchange Office
LAN Red de Área Local.
XIV
ÍNDICE DE CUADROS
Cuadro No.1
Causas y Consecuencias del Problema 6
Cuadro No.2
Población 31
Cuadro No.3
Muestra 32
Cuadro No.4
Instrumentos de la Investigación 33
Cuadro No.5
Implementación del Servidor Elastix 34
Cuadro No.6
Diseño de red 35
Cuadro No.7
ELASTIX 36
Cuadro No.8
Virtualización 37
Cuadro No.9
Base de Datos 38
Cuadro No.10
Conexiones físicas de los equipos 39
Cuadro No.11
Generación de llamadas del servidor 40
Cuadro No.12
Automatización 41
XV
Cuadro No.13
Llamada 42
Cuadro No.14
Escalabilidad 43
Cuadro No.15
Solución Técnica 73
Cuadro No.16
Presupuesto ingresos 74
Cuadro No.17
Presupuesto egresos 74
Cuadro No.18
Costos de equipos 75
Cuadro No.19
Criterios de validación de la propuesta 80
Cuadro No.20
Criterios de aceptación del producto 81
XVI
ÍNDICE DE GRÁFICOS
Gráfico No.1
Computadores IBM 7040 y 7044 en un centro de computación en 1964 14
Gráfico No.2
Arquitectura general de un servidor sin Virtualización 15
Gráfico No.3
Arquitectura general de Virtualización sobre un servidor, en el que se
puede apreciar como corren cuatro máquinas virtuales 16
Gráfico No.4
Entorno gráfico de KVM 17
Gráfico No.5
Entorno gráfico de una central telefónica 18
Gráfico No.6
SIP Trunk: Esquema de funcionamiento 19
Gráfico No.7
Dashboard de Elastix 21
Gráfico No.8
Ingreso a la Base de Datos 22
Gráfico No.9
Ejemplo de Estación Base Móvil
23
Gráfico No.10
Implementación del Servidor Elastix 34
Gráfico No.11
Diseño de red 35
Gráfico No.12
ELASTIX 36
XVII
Gráfico No.13
Virtualización 37
Gráfico No.14
Base de Datos 38
Gráfico No.15
Conexiones físicas de los equipos 39
Gráfico No.16
Generación de llamadas del servidor 40
Gráfico No.17
Automatización 41
Gráfico No.18
Llamada 42
Gráfico No.19
Escalabilidad 43
Gráfico No.20
Diseño para el funcionamiento del Servidor Elastix 45
Gráfico No.21
Configuración de tarjeta de red 46
Gráfico No.22
Visualización del servicio MySQL activo 48
Gráfico No.23
Instalación de Servidor Elastix 2.4 virtual 49
Gráfico No.24
Nombre de la máquina virtual 49
Gráfico No.25
Creación de la máquina virtual 50
XVIII
Gráfico No.26
Asignación de RAM 50
Gráfico No.27
Asignación de disco duro virtual 51
Gráfico No.28
Imagen principal. Instalación de Elastix 51
Gráfico No.29
Partición de disco duro 52
Gráfico No.30
Activación de tarjeta de red 52
Gráfico No.31
Configuración de la tarjeta de red eth0 53
Gráfico No.32
Configuración de Gateway y DNS 53
Gráfico No.33
Nombre del servidor Elastix 54
Gráfico No.34
Configuración de contraseña “root” 54
Gráfico No.35
Instalación de Elastix 2.4 55
Gráfico No.36
Configuración de contraseña MySQL 55
Gráfico No.37
Configuración de contraseña para Login Web 56
Gráfico No.38
Ingreso a Elastix vía web 56
XIX
Gráfico No.39
Agregación de nuevo contexto en extensions_custom.conf 57
Gráfico No.40
Configuración del contexto “call-file-test” 57
Gráfico No.41
Creación del SIP Trunk 58
Gráfico No.42
Acceso root a la base de datos MySQL 59
Gráfico No.43
Bases de datos que contiene Elastix 60
Gráfico No.44
Tablas en AudioElastixDialerBD 61
Gráfico No.45
Descripción de los campos de la tabla 61
Gráfico No.46
Direccionamiento IP de Gateway Grandstream 62
Gráfico No.47
Estado de la configuración de red en el Gateway 62
Gráfico No.48
Configuración de la cuenta de usuario SIP 63
Gráfico No.49
Base celular móvil Telcom 63
Gráfico No.50
Verificación de códec de audio G729.SO 64
Gráfico No.51
Ejemplo de una consulta en la base de datos 65
XX
Gráfico No.52
Varios accesos simultáneos con PuTTY 66
Gráfico No.53
Dashboard de WinSCP 66
Gráfico No.54
Sintaxis de archivos .CALL 67
Gráfico No.55
Configuración del fichero crontab 69
Gráfico No.56
Registro con bandera ‘n’ en campo llamada 70
Gráfico No.57
Consola del CLI de Asterisk 70
Gráfico No.58
Registro con bandera ‘s’ en campo llamada 71
Gráfico No.59
Llamada entrante 71
XXI
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES
DISEÑO E IMPLEMENTACIÓN DE UN PORTAL WEB PARA EL CONSEJO
NACIONAL ELECTORAL CON EL FIN DE AYUDAR EN LA CAPACITACIÓN
A LOS CIUDADANOS DEL ECUADOR ACERCA DEL CÓDIGO DE LA
DEMOCRACIA ENFOCADO EN EL DISEÑO E IMPLEMENTACIÓN
DE UN SERVIDOR ELASTIX QUE GENERA LLAMADAS
AUTOMÁTICAMENTE A BASES DE DATOS
SELECCIONADAS
RESUMEN
La capacitación del programa ABC de la democracia perteneciente al CNE que
actualmente es presencial, se la innovará utilizando las tecnologías de la
información para llegar a la ciudadanía. El presente proyecto informa a los
usuarios registrados en el curso virtual cuando lo finalicen a través de un servidor
de telefonía generando llamadas automáticas de tipo notificación. Se utiliza la
modalidad de investigación cuantitativa incrementando la objetividad del análisis
con una encuesta dirigida a personas con perfil profesional del área de telefonía.
Gracias a su criterio se obtuvo un análisis objetivo de los resultados. Con la
herramienta de virtualización se instala Elastix como servidor de telefonía para
gestionar las comunicaciones y realizar las llamadas. El servidor Elastix permite
levantar una troncal SIP y realizar las llamadas a través de un Gateway de
telefonía que conecta con una base celular móvil, este proceso es automatizado
con un script programado que se ejecuta cada 5 minutos. Como conclusión, Elastix
establece un correcto funcionamiento de sus procesos generando una llamada
automática a todos los números telefónicos registrados en la base de datos.
Palabras Clave: Virtualización, Servidor de Telefonía, Elastix.
Autor: Carlos Isaac Zhague Barzola
Tutor: Lcda. Viviana Pinos M.Sc.
XXII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES
DESIGN AND IMPLEMENTATION OF A WEBSITE FOR THE CONSEJO
NACIONAL ELECTORAL WITH THE PURPOSE OF TRAINING CITIZENS
OF ECUADOR ABOUT THE CODE OF DEMOCRACY FOCUSED ON
THE DESIGN AND IMPLEMENTATION OF AN ELASTIX SERVER
THAT WOULD GENERATE AUTOMATICALLY CALLS
TO SELECTED DATABASES
ABSTRACT
The training of the ABC program of democracy belonging to the CNE which is
currently performed in person will be innovated using information technologies to
reach citizenship. This project notifies users registered in the virtual course when
they end it through a telephony server generating automatic notification type calls.
The quantitative research modality is used increasing the objectivity of the analysis
by a survey directed to people with professional profile of the telephony area.
Thanks to their criteria, an objective analysis of the results was obtained. With the
virtualization tool Elastix is installed as a telephony server to manage
communications and make calls. The Elastix server allows you to lift a SIP trunk
and make calls through a telephony gateway that connects to a mobile cellular
base. This process is automated with a scheduled script that runs every 5 minutes.
As a conclusion, the Elastix server establishes a correct operation of its processes
generating an automatic call to all the telephone numbers registered in the
database.
Keywords: Virtualization, Telephony Server, Elastix.
Autor: Carlos Isaac Zhague Barzola
Tutor: Lcda. Viviana Pinos M.Sc.
1
INTRODUCCIÓN
En una era en la cual la tecnología es parte del día a día, el tener un teléfono
celular ha pasado de ser un lujo en convertirse en una necesidad. Actualmente las
personas reciben docenas de notificaciones en su teléfono móvil las cuales
generan que el individuo esté atento a las mismas creando un vínculo con el
dispositivo.
Es de esta manera que el presente proyecto aprovecha ese vínculo para que las
personas muestren interés por el programa ABC de la democracia, programa que
se viene desarrollando por el Consejo Nacional Electoral a través de
capacitaciones al público en general, el cual consiste en formar las bases de la
formación Cívica y Democrática para la ciudadanía ecuatoriana en general.
De igual modo el CNE en vista de ampliar su alcance a la ciudadanía muestra
interés por adquirir procesos automatizados y tecnológicos de sus programas
como es el caso del mencionado ABC de la democracia optando por nuevos
caminos de desarrollo tecnológico sin perder su misión y visión, queriendo llegar
a todas las personas de una manera cada vez más ágil y efectiva, investigando
nuevas técnicas y procesos de desarrollo.
El CNE pretende optimizar recursos físicos y financieros, así como también el
desempeño de sus colaboradores gracias a la implementación de plataformas
avanzadas de comunicación que garanticen al usuario final, en este caso los
ciudadanos ecuatorianos, transparencia y efectividad.
No obstante, esta organización de carácter social no posee departamentos
dedicados a estos procesos tecnológicos, y en ciertas ocasiones contratan a
terceros para el desarrollo de los mismos, creando productos que luego no sabrían
cómo manejar o herramientas que significan a largo plazo un alto costo de
mantenimientos, ocasionando más inconvenientes que soluciones.
Por consiguiente, para las gerencias de las empresas es necesario planificar la
mejor manera de llegar a las personas de una manera efectiva, es así que nace
2
el interés por desarrollar un producto que ofrezca esa efectividad a las
organizaciones. Un producto que sea capaz de difundir lo que la organización
requiera y ese es el caso de las notificaciones, presentando esta propuesta al CNE
como simple pero efectiva, una propuesta que tendría un sin número de
aplicaciones dependiendo de las necesidades de las organizaciones.
Por otro lado en una sociedad donde los teléfonos inteligentes contienen diversas
aplicaciones de redes sociales y a las cuales les llega decenas de notificaciones
se presenta una problemática en cuestión, la de llegar de la forma más efectiva a
los ciudadanos, y que mejor manera que a través de una llamada telefónica ya
que el usuario no solamente se percatará de que está recibiéndola sino que
también se tendría la certeza en la mayoría de los casos que será contestada y
así podrá ser difundido el mensaje o notificación.
Por ello para llevar a cabo las notificaciones se utilizará un servidor de telefonía
que se encargará de almacenar los datos de los usuarios y luego realizar llamadas
a los mismos mediante grabaciones que podrán ser editadas dependiendo de la
necesidad creando una herramienta eficaz y de bajo costo.
La herramienta también se entregaría de tal manera que sea manejable por
cualquier usuario y amigable con los administradores del sistema creando así
solución a la problemática de llegar a todos los usuarios interesados ya que en
estos tiempos casi toda la población tiene acceso a la red de telefonía móvil siendo
este el medio por el cuál se comunicarían.
Asimismo, se desarrollará el producto bajo el esquema de prueba utilizándolo
como servidor de notificaciones de los usuarios que se registren en el portal web
ABC de la democracia y al finalizar el curso virtual ellos recibirán una llamada con
una grabación informándoles de su éxito en el curso.
Se tomó en cuenta la modalidad de investigación cuantitativa ya que se planea
recoger datos por medio de encuestas y así se realizar un análisis de los mismos.
Ese método pertenece a la modalidad de investigación no experimental o conocida
también Ex Post Facto (después de ocurridos los hechos) ya que se analizará
3
situaciones ya existentes como es el caso de un servidor de telefonía y en este
caso sus variables que son el hecho de como el ciudadano despertara el interés
por este tipo de cursos y como fomentar nuevas estrategias para la mejora del
producto.
A través de la encuesta se obtendrá la información necesaria para consolidar la
idea a defender ya que se entrevistará a profesionales de determinado perfil
técnico en el área de las comunicaciones y redes y con los análisis de cada una
de las preguntas realizadas se podrá aclarar todas las validaciones.
Se analizará tanto la factibilidad para que la llamada sea ejecutada como las
herramientas que intervienen en el desarrollo de todo el proceso desde el ingreso
a la base de datos hasta la recepción del usuario. Todos estos factores serán
evaluados por los profesionales del área quienes con sus criterios y apoyándose
en esta investigación se podrá entregar un producto final.
En conclusión, el CNE obtendrá un servidor de telefonía capaz de mantenerse
estable y ser fácilmente administrado, un sistema automático generador de
llamadas a los usuarios que participen en el programa ABC de la democracia que
registren sus números de teléfonos y que acepten que se les realizará una llamada
de notificación.
De igual manera queda asegurado la recepción de la notificación ya que es una
llamada telefónica la cual el usuario teniendo conocimiento de la misma se verá
interesado en receptarla y escuchar el mensaje de notificación cumpliendo el
objetivo del producto. Dicho mensaje podrá ser editado por el CNE para otros
usos, no solo para informar la conclusión de un evento, sino también como
promotor de nuevos eventos, recordatorios, e incluso para fomentar a través de
mensajes a la ciudadanía los valores de la democracia en el Ecuador.
En el capítulo | se plantea el contexto del problema estableciendo sus causas y
consecuencias, y con ello se formula el problema. Una vez establecido, se evalúa
y se definen sus alcances. Se establecen los objetivos del proyecto y la
4
justificación de como el producto podrá satisfacer la necesidad del CNE por
innovar a través de medios tecnológicos sus capacitaciones.
En el capítulo || se detalla el marco teórico en el cual se analiza los antecedentes
del estudio mencionando casos en los cuales gracias a las notificaciones
automáticas se mejora el estatus de las organizaciones, así como también
proyectos que utilizando la solución de comunicaciones unificada Elastix cumplen
con sus objetivos y ahorran en costos.
Se realizan las fundamentaciones teóricas acerca de la virtualización, las centrales
telefónicas, la tecnología VoIP, las troncales SIP y los gestores de bases de datos.
Se definen las fundamentaciones social y legal sustentadas en la Ley Orgánica de
Telecomunicaciones y el Plan Nacional del Buen Vivir. Se establece la idea a
defender y las definiciones conceptuales a tomarse en cuenta para la comprensión
del documento.
En el capítulo ||| se muestra la metodología y tipo de investigación, junto con el
procesamiento de los datos recolectados que sustenta esta investigación y sobre
el método de recolección de datos, la encuesta. Se realizan las entrevistas de
carácter técnico a los profesionales en el área, para la validación de la idea a
defender.
En el capítulo |V se presenta la propuesta tecnológica del proyecto describiendo
todo el proceso que se realiza para que un usuario registrado en el curso virtual
reciba su notificación de haber culminado el curso virtual. Se generan los
respectivos análisis de factibilidad, revisando la factibilidad operacional, técnica,
económica y legal del presente trabajo. Se indica las etapas de metodologías del
proyecto que se usan basados en los Sprint de la metodología SCRUM y se
desarrolla los mencionados Sprint semana a semana presentando los entregables
que culminaron con la entrega del producto final.
Se indican los criterios de validación de la propuesta de los resultados de las
encuestas puntuándolos con porcentajes, finalmente se definen y los criterios de
aceptación del producto.
5
CAPÍTULO I
PLANTEAMIENTO DEL PROBLEMA
UBICACIÓN DEL PROBLEMA EN UN CONTEXTO
Las comunicaciones tienen como objetivo transmitir ideas, compartir información,
dar a conocer una noticia. Tomando en consideración los avances tecnológicos y
con una mayor facilidad de acceso a la tecnología, los ciudadanos ecuatorianos
se encuentran cada vez más conectados.
Por consiguiente, la organización de carácter social, el Consejo Nacional Electoral
con sede en la ciudad de Guayaquil, con dirección Av. Democracia y Dr. Roberto
Gilbert, en vista que su misión es fortalecer la democracia en el Ecuador, utilizará
herramientas tecnológicas para poder dar a conocer a más ciudadanos sobre el
curso ABC de la democracia optando por la virtualización del curso y utilizando en
este caso la herramienta más potente en la actualidad que es el Internet. El ABC
de la democracia consiste en ampliar el conocimiento de la ciudadanía acerca de
la democracia comunitaria, específicamente el código de la democracia.
Actualmente esta institución no cuenta con un sistema de difusión de información
que realmente logre captar gran cantidad de personas, dar avisos programados o
comunicar este tipo de eventos de capacitación de forma masiva y automatizada.
SITUACIÓN CONFLICTO NUDOS CRÍTICOS
La telefonía móvil cada vez aumenta el número de líneas activas creando una
excelente manera de acceso a los ciudadanos y es por eso que en el presente
proyecto se aprovechará este medio para poder generar interés por el curso, ya
que las notificaciones han demostrado ser un medio eficiente para llegar a un
usuario final.
Las redes sociales se encuentran en su apogeo llenando de notificaciones los
teléfonos móviles, pero aún se cuenta con un medio más efectivo que una
6
notificación de red social y ese es el uso de una llamada informativa y que el
usuario estará pendiente de su recepción.
Como conclusión al mantener un sistema de notificaciones telefónicas
automatizadas se llegará de manera efectiva al usuario registrado en el portal web
y a futuro podrían servir como mensajes publicitarios, recordatorios, etc.
CAUSAS Y CONSECUENCIAS DEL PROBLEMA
Causas y Consecuencias del Problema
Cuadro No. 1
CAUSAS CONSECUENCIAS
Cursos presenciales para el ABC
de la democracia
No se llega de manera efectiva a todos
los ciudadanos
Utilización de medios tecnológicos
Se desperdicia recursos que agilitarían
notificar adecuadamente acerca del
curso
Sistemas no garantizan su propia
operatividad
Mayor personal para administrar los
sistemas o contratación de terceros.
Sistemas no automatizados Perdida de datos relevantes.
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
DELIMITACIÓN DEL PROBLEMA
CAMPO: Telecomunicaciones.
ÁREA: Centro de Datos.
ASPECTO: Notificaciones a través de llamadas automatizadas.
TEMA: Diseño e implementación de un portal web para el consejo nacional
electoral con el fin de ayudar en la capacitación a los ciudadanos del Ecuador
acerca del código de la democracia enfocado en el diseño e implementación de
un servidor Elastix que genera llamadas automáticamente a bases de datos
seleccionadas.
7
FORMULACIÓN DEL PROBLEMA
En un auge de la población ecuatoriana por el uso de dispositivos móviles de
última generación y con la necesidad de brindarles información oportuna y que
llegue de manera efectiva se plantea la siguiente interrogante:
¿Es viable implementar un servidor de telefonía en Elastix dedicado a la
generación de llamadas automáticas para informar a determinados grupos de
interés?
Como respuesta a esta interrogante se propone la implementación de un servidor
dedicado a la generación de llamadas automatizadas que garantice su propia
operatividad y sea programable de acuerdo a las necesidades del CNE.
EVALUACIÓN DEL PROBLEMA
Delimitado: El proyecto está orientado a la generación automatizada de llamadas
a destinatarios que se encuentren en una base de datos, la misma que contiene
datos de usuarios que hayan participado y culminado con éxito la capacitación del
programa ABC de la democracia.
Claro: A través de la automatización de las llamadas y de la programación de las
mismas se logra mantener estabilidad y funcionabilidad continua.
Evidente: Se llegará al usuario final de una manera efectiva, notificándoles a
través de su dispositivo móvil acerca de su participación en el curso, será un
primer contacto que no pasará desapercibido.
Concreto: Se tomará como muestra una Base de Datos que se carga
continuamente con datos del portal web, luego a través de una programación se
lo automatizará para que realice llamadas cada cierto periodo de tiempo.
Relevante: Al implementar este sistema se podrá poner en contacto y transmitir
información de manera oportuna a todo usuario que haga uso del mismo.
8
Factible: El proyecto es factible ya que toma herramientas conocidas como son
los conceptos de servidor de telefonía y usando sistemas operativos de licencia
Free, se podrá desarrollar el ambiente para la implementación del proyecto. Se
utilizará equipos configurables y se creará un ambiente virtual que se podrá
gestionar de una manera sencilla y viable.
ALCANCES DEL PROBLEMA
El proyecto busca alcanzar lo siguiente:
Habilitar una red LAN para conexión de los equipos de comunicación y los
servidores.
Levantamiento de una máquina virtual, el servidor de telefonía Elastix, que
contendrá las bases de datos de los usuarios registrados en el portal web ABC
de la democracia, así como también la configuración de una troncal SIP para
realizar las llamadas telefónicas.
Enrutar las llamadas salientes hacia los equipos de comunicación
configurando el Gateway Grandstream para que la base celular pueda realizar
las llamadas, creación de un script en el Shell de Linux, luego programarlo con
crontab para automatizar del proceso de las llamadas.
Notificar a todos los usuarios registrados en la base de datos acerca de su
culminación del curso.
OBJETIVOS DE LA INVESTIGACIÓN
Objetivo general
Implementar un servidor de telefonía que garantice su propia operatividad para la
generación de llamadas automáticas tipo notificación a bases de datos
seleccionadas.
9
Objetivos específicos
1. Elaborar un diseño de red que permita crear una red LAN para la conexión
de los servidores físicos, virtuales y los equipos de comunicación de alta
disponibilidad.
2. Implementar un servidor de telefonía Elastix utilizando la virtualización para
la generación de llamadas a una base de datos seleccionada manteniendo
notificados a los usuarios acerca de la culminación del curso virtual ABC
de la democracia.
3. Garantizar la ejecución de un sistema que automatice los procesos del
servidor de telefonía Elastix para asegurar que todos los usuarios que se
encuentren registrados en la base de datos reciban la notificación.
JUSTIFICACIÓN E IMPORTANCIA DE LA INVESTIGACIÓN
La presente investigación se encuentra orientada a solventar la necesidad de
notificar con llamadas automáticas a los móviles de los participantes del curso
virtual ABC de la democracia. Al ser las notificaciones una manera efectiva de
llegar a una persona que posee una dependencia con su dispositivo móvil se
asegura la recepción del mensaje.
En consecuencia, se aprovecha de manera positiva la difusión del mensaje a la
sociedad dando a conocer el código de la democracia, a una sociedad que estos
momentos tiene pocos conocimientos de esos valores cívicos y democráticos y
así el problema que el CNE tiene al ver que pocas personas se muestran
interesadas en el proceso de capacitación disminuye ya que la herramienta virtual
es novedosa y las notificaciones son de agrado de las personas.
Asimismo, se demuestra que un servidor de telefonía con la herramienta de
virtualización es capaz de mantenerse estable y de rendir igual que un servidor
físico, con el beneficio que se tiene menos gastos de implementación ya que al
10
ser virtual y encontrarse en un servidor Linux las licencias son gratuitas. Se
demostrará el proceso completo y se entregará un manual técnico para guía de
los colaboradores del CNE, entregando un sistema programable y que funciona
24/7, fácil de manejar y estable.
Bajo la modalidad de proyecto factible se desarrolla el proceso investigativo en
tres ámbitos que son el investigativo, bibliográfico y la propuesta que es la
encargada de solventar el problema. Para el ámbito investigativo se toma en
consideración la técnica de la encuesta que recopila la información de los expertos
técnicos que darán su criterio a través de un cuestionario realizado de carácter
técnico que mejora la calidad del producto a entregar al CNE.
Para el ámbito bibliográfico se investiga y se justifica con citas las
fundamentaciones teóricas y técnicas que validen el desarrollo del proyecto,
entregando una explicación detallada de la propuesta, así como también las
fundamentaciones legales que se amparan en la constitución y en las leyes del
buen vivir.
La propuesta permite exponer una solución al problema planteado ya que se
cuenta con un servidor capaz de generar las llamadas en un tiempo óptimo y
realizarlas de tal manera que vayan efectuándose una vez culminado del curso,
haciendo entrega al CNE una herramienta eficaz que logra notificar de manera
efectiva por medio de una llamada automatizada al usuario final y en base a este
servicio el CNE dispondrá de esta herramienta pudiéndola modificar a futuro para
otros tipos de notificaciones como dar avisos de próximos cursos y dentro del
mismo curso realizar recordatorios, señalar avances de los mismos, etc.
Finalmente, con lo expuesto anteriormente se logra aclarar que la presente
propuesta es factible en todos sus ámbitos ya que a través de herramientas de
bajo coste se podrá implementar un sistema sólido y modificable para que el
beneficiario amplié sus posibilidades de llegar a más ciudadanos. Un sistema que
se desarrolla y se prueba para un constante crecimiento del mismo.
11
CAPÍTULO II
MARCO TEÓRICO
ANTECEDENTES DEL ESTUDIO
SISTEMA DE MARKETING MÓVIL VÍA NOTIFICACIONES PUSH PARA
PEQUEÑOS CENTROS COMERCIALES DE LA CIUDAD DE CARTAGENA
En la Universidad de Cartagena José Alejandro Agudelo Vergara & Mario
Alejandro Rangel Mora, presentan un sistema que muestra la inclusión de
mecanismos de marketing y publicidad en las plataformas y aplicaciones móviles
a través de notificaciones push en centros comerciales de la ciudad, ya que en la
actualidad la mayoría de los comercios se encuentran ligados a la tecnología y los
que no lo hacen se encuentran destinados a un seguro estancamiento. La
publicidad que estas notificaciones pueden ofrecer es ilimitada, ya en estos
tiempos en normal ingresar a una página web y que varios banners de publicidad
aparezcan (Agudelo Vergara & Rangel Mora, 2016).
En el proyecto se demostrará como la tecnología llegaría a los usuarios del portal
web a través de notificaciones automáticas y teniendo en cuenta que telefonía
celular esta es vital para comunicarse hoy en día es una buena manera de hacer
publicidad al CNE ya que casi todas las personas económicamente activas del
Ecuador poseen un teléfono celular.
ANÁLISIS, DISEÑO Y CONSTRUCCIÓN DE UN PORTAL WEB DE GESTIÓN
COMERCIAL PARA LA EMPRESA FARMACORED INTEGRANDO
HERRAMIENTAS DE VOIP SOBRE ELASTIX
Para FARMACORED, Elastix permitió mejorar su portal web, desde la integración
de esta solución de comunicaciones se aprovechó un recurso por el cual ya se
generaban costos que es el Internet. El objetivo de FARMACORED era disminuir
gastos de telefonía y lo logra con Elastix ya que las llamadas ingresaban a un IVR
12
y esta a su vez direccionaba a los diferentes departamentos y luego a cada una
de las extensiones internas, como se encontraban configuradas en Elastix, ya no
usaban ancho de banda de internet sino de la red interna de la empresa,
encontrando una efectiva solución de comunicación IP y a su vez ahorrando
costos (Llumiquinga Grefa & Pérez Carrión, 2012).
Es así como se tiene en Elastix a una potente herramienta de comunicación en el
presente proyecto, gracias a la misma el ancho de banda se reduce a la conexión
de la base de datos y los demás procesos se establecen configurando la red LAN
interna del módulo de llamadas automáticas.
IMPLEMENTACIÓN DE UNA CENTRAL TELEFÓNICA BASADA EN
PROTOCOLOS DE INTERNET UTILIZANDO ELASTIX COMO SERVIDOR DE
COMUNICACIONES UNIFICADO EN LA EMPRESA SAMASAT
En SAMASAT necesitaban mejorar la infraestructura de la red de comunicaciones
que estaba obsoleta y Xavier Sarzosa defiende en su tesis la virtualización del
servidor de comunicaciones unificado Elastix. En la misma se instala Elastix en un
ambiente virtual y logra demostrar que es totalmente funcional. Gracias a su
implementación pueden realizar llamadas simultáneas en sus extensiones ya sea
con las sucursales, con la matriz o entre ambas. Logran activar y sostener un
sistema de grabación de llamadas, adicional logran almacenarlas en el servidor
Elastix para respaldo de las conversaciones y ventas realizadas, también consta
de un sistema de registros de llamadas detallado (Sarzosa Urquizo, 2014).
Esta investigación aporta y confirma que el presente proyecto no va a tener ningún
inconveniente a pesar que el servidor principal Elastix se encuentre en una
máquina virtual y como se cita en la investigación previa, Elastix es una
herramienta capaz de soportar varios procesos a la vez incluso en ambiente
virtual, en este caso se levantará una troncal SIP que será la encargada de enrutar
las llamadas hacia el Gateway, y también contiene la base de datos propia de
Elastix.
13
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN PARA LA
DISTRIBUCIÓN DE LAS LLAMADAS EN MÚLTIPLES SERVIDORES
ASTERISK MANEJANDO EL ACD PARA CALL CENTER BAJO LINUX
El trabajo investigo de Oscar Rocha introduce a cómo funcionan los ACD en
Asterisk y como a través de una aplicación permite la distribución de las llamadas
sobre diferentes máquinas Asterisk, ya que no existía un software que permitiera
la distribución de las llamadas para los ACD. Con la creación de un ambiente de
prueba simulando un Call Center se realizaron pruebas de 120 llamadas
simultaneas demostrando el correcto funcionamiento de la aplicación ya que
adicional se midieron las tasas de abandono por cada una de las diferentes tipos
de máquinas Asterisk (Rocha Reina, 2011).
Gracias al presente trabajo se pudo constatar cómo trabaja Asterisk que es el
núcleo de Elastix y como maneja las ACD que es el distribuidor de llamadas
automáticas que maneja Elastix en un Call Center, de esta manera dará una pauta
a cómo realizar la automatización y la distribución de las llamadas que se
realizaran a los números registrados en la base de datos.
IMPLEMENTACIÓN DE UN SISTEMA PARA LA GENERACIÓN AUTOMÁTICA
DE LLAMADAS SALIENTES EN UN CALL CENTER
El proyecto investigativo desarrolla una aplicación PHP que genera una llamada a
través de Asterisk según el monto adeudado para el escenario en el cual una
empresa de cobranzas desea notificar a través de llamadas automáticas a sus
clientes que poseen una deuda con su tarjeta de crédito. Esta base es actualizada
cada determinado tiempo pro el administrador del sistema. Para que se trabaje de
una forma adecuada se instala sobre Asterisk el add-on de MySQL conectando la
aplicación de manera directa con la información de los clientes (Pontón, Yánez, &
Astudillo, 2011). De la misma manera, el presente proyecto cuenta con una
conexión directa a la base de datos del portal web ABC de la democracia, pero es
gestionada en el servidor Elastix tomando solo los parámetros necesarios para la
realización de la llamada. La base de datos se administrará según lo solicitado por
el CNE.
14
FUNDAMENTACIÓN TEÓRICA
VIRTUALIZACIÓN
Gracias a la virtualización cada instancia de un sistema operativo virtual y sus
aplicaciones corren sobre el hardware original, se denomina virtualización a la
técnica que permite particionar el hardware, para que corran simultáneamente
más de un sistema operativo (Peñafiel & Guerrero, 2011)
La virtualización es un término que, aunque no parezca ya se lo conocía hace
décadas atrás pero solamente era utilizado en ámbitos exclusivos, grandes
centros de cálculo militares bancarios o universitarios, algunos de sus primeros
usos se remontan como la IBM 7044 (en el que la máquina física era la M44, que
albergaba varias máquinas lógicas 44X para los procesos) desarrollada por el
Instituto de tecnología de Massachusetts.
Computadores IBM 7040 y 7044 en un centro de computación en 1964
Gráfico No.1
Fuente: Introducción a la Virtualización
Elaborado por: Villar & Gómez, 2011
15
A medida que las computadoras fueron mejorando en su capacidad y tamaño la
virtualización fue disminuyendo ya que no tenían muchos recursos como los
supercomputadores mencionados anteriormente, y no fue hasta que nuevamente
con la tecnología de sistemas operativos multiusuario y multitarea fueran
evolucionando se volvió a tomar este concepto en hardware de miniordenador y
con arquitectura mainframe.
En el presente se puede virtualizar en computadores de escritorios o pc
personales como laptops y se ven como retos ya no el rendimiento del hardware
sino más bien la seguridad, fiabilidad, asignación de privilegios y permisos que se
dé a las máquinas virtuales.
Máquina virtual e Hipervisor
Es fundamental comprender la diferencia entre estos dos términos y poder
comprender en mejor manera el papel que juega cada uno de ellos para el
funcionamiento interno de la virtualización.
Una máquina virtual es aquella que corre paralelamente con el host o máquina
física, de manera que hace uso de los recursos del hardware como si fueran
propios. La máquina virtual cree que posee de forma exclusiva los recursos, pero
en realidad solamente se encuentra en una instancia del sistema operativo que le
permite recurrir a los servicios o aplicaciones necesarias para su funcionamiento.
Arquitectura general de un servidor sin Virtualización
Gráfico No.2
Fuente: Introducción a la Virtualización
Elaborado por: Villar & Gómez, 2011
16
Arquitectura general de Virtualización sobre un servidor, en el que se
puede apreciar como corren cuatro máquinas virtuales
Gráfico No.3
Fuente: Introducción a la Virtualización
Elaborado por: Villar & Gómez, 2011
El hipervisor en cambio es un monitor que corre directamente sobre el hardware y
se inicializa después del arranque, antes de las máquinas virtuales. Es incluida en
técnicas de virtualización completa y paravirtualización. Sus funcionabilidades
básicas son dos, la primera en gestionar las operaciones de CPU e instrucciones
protegidas emitidas por las máquinas virtuales, y su segunda función es manejar
las peticiones a los recursos de hardware.
En conclusión, la virtualización es un método que permite emular un sistema
operativo permitiendo usar todos los recursos del host y es aprovechado de mejor
manera en el uso de servidores que formen parte de una infraestructura de red.
Generalmente y en la actualidad la virtualización es usada comúnmente en las
centrales IP por sus bajos costos de implementación, razón por la cual es usada
en el presente proyecto como servidor central que gestiona las llamadas a
realizarse.
17
KVM
Se refiere a una infraestructura de virtualización en Linux en la que se pueden
ejecutar varias máquinas virtuales a la vez. El Kernel-based Virtual Machine es
fundamental para el proyecto ya que permite administrar el servidor de telefonía
Elastix.
Gráfico No.4
Entorno gráfico de KVM
Fuente: Investigación del tema
Elaborado por: Isaac Zhague
VoIP
En sus siglas en inglés Voice Over Internet Protocol, es un protocolo de
comunicación que permite tomar señales de audio analógicas y las transforma en
datos digitales y los trasmite a internet a través de una dirección IP. La principal
ventaja que tiene sobre lo analógico es que no se necesita se circuitos físicos
como una red PSTN. El tráfico de la voz sobre IP puede circular sobre cualquier
red que trabaje con el protocolo IP, es así que en la actualidad casi todas las
empresas conectadas a internet y con una red LAN pueden hacer uso de este
protocolo (Solis, 2012).
18
Uno de los principales protocolos para trabajar con VoIP es el protocolo SIP, o
protocolo de inicio de sesión desarrollado por el IETF. Es el estándar encargado
de la inicialización, modificación y finalización de sesiones de los usuarios donde
intervengan elementos de video, voz, IM, juegos online y realidad virtual.
El puerto por defecto del protocolo SIP es el 5060 para poder conectarse con los
servidores SIP tanto en TCP como en UDP, aun así, solo se encarga de la
señalización al establecer la sesión de comunicación
CENTRAL TELEFÓNICA
Hablando de hardware, una central telefónica es un equipo electrónico que realiza
intercomunicaciones de voz y audio, y dispone de diferentes clases de puerto para
conectar líneas telefónicas externas o teléfonos, estableciendo la conexión entre
extensiones telefónicas internas y públicas que se encuentren distribuidas y
visibles en una misma red LAN (Asimtelec, 2012).
Entorno gráfico de una central telefónica
Gráfico No.5
Fuente: Asimtelec
Elaborado por: Isaac Zhague
19
En el caso del proyecto se refiere a central telefónica IP aquella que trabaja con
Asterisk o puntalmente la central telefónica Elastix. Una central telefónica o
conocida en la actualidad como Central IP permite conectar a las personas que se
encuentren conectadas en una misma red asignándoles un numero de extensión
para que se puedan comunicar entre ellas, permitiendo llevar a cabo conferencias,
realizar transferencias de llamadas y llamadas entre extensiones.
Troncales SIP
Ya se habló del protocolo SIP y su funcionabilidad, ahora se definirá la troncal SIP,
que es un servicio que permite a las organizaciones que cuenten con un PBX
utilizar comunicaciones VoIP en tiempo real. Mediante una conexión de un enlace
troncal SIP a un sistema PSTN, las organizaciones tienen la oportunidad de
comunicarse fuera de la empresa a través de IP (Telnline, 2013).
SIP Trunk: Esquema de funcionamiento
Gráfico No.6
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
20
El SIP trunk reemplaza las líneas tradicionales PSTN con un sistema de teléfonos
IP conectados a través de estos servicios, creando así un único conducto para los
componentes de multimedia, incluyendo voz, video y datos. Como resultado, un
servicio de SIP trunk por lo general ofrece un mayor ahorro de costes y una mayor
fiabilidad (Telnline, 2013).
El proyecto habilita una troncal SIP en el servidor Elastix para crear un servicio
SIP trunk y poder enrutar las llamadas hacia los diferentes equipos de
comunicación.
Viendo las ventajas de las troncales SIP se puede indicar que en la actualidad son
mejores que las troncales PBX analógicas ya que no se tendría que preocupar por
el cableado adicional que ocasionaría mantener este tipo de servicios y con una
administración más sencilla optimizando costos y tiempos. Cabe mencionar que
este tipo de sistemas ofrecen un tráfico de voz rápido y seguro.
ASTERISK Y ELASTIX
Asterisk es un software que proporciona funcionabilidades de PBX, trabaja con
una excelente interoperabilidad entre equipos telefónicos basados en estándares.
Se necesita tener cierto nivel de conocimiento en centrales telefónicas para poder
trabajar con Asterisk ya que se tendrá que instalar diversos adicionales que se
ajusten de acuerdo a las necesidades, aplicarles firewalls, etc. Y de esta manera,
controla y gestiona las comunicaciones sean analógicas o digitales mediante los
protocolos VoIP que implementa. Es OpenSource basada en GPL, haciéndola de
libre desarrollo de sistemas de comunicaciones profesionales con gran calidad,
seguridad y versatilidad (CALERO & NACIPUCHA, 2014).
Cada día existen nuevas formas de comunicación, la adición de características y
funcionalidades debe ser constante, para el presente proyecto se utiliza la
herramienta de software de código abierto Elastix. Según (Elastix, 2016) , dice
que “Elastix es un software de código abierto para el establecimiento de
comunicaciones unificadas”. Su escritorio de trabajo como se muestra en la
21
siguiente figura es de fácil manejo, el cual se puede configurar según las
necesidades del desarrollador.
Dashboard de Elastix
Gráfico No.7
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
El proyecto Elastix inicia como una interfaz de reportes para llamadas de Asterisk
y fue liberado en marzo del 2006, posteriormente fue evolucionando y
convirtiéndose en lo que es ahora, una distro basada en Asterisk (Elastix, 2016).
Dentro de esa distro de Elastix se configura las troncales pbx creando una central
telefónica como las que las empresas poseen para ahorrar costos por llamadas.
Sin embargo, Elastix no solamente provee telefonía además integra otros medios
de comunicación para hacer más eficiente y productivo su entorno de trabajo
como: Telefonía, Email, Fax, Video, IM (Elastix, 2016). Tomando en cuenta la
utilidad y senc i l lez de Elastix, es instalado en el servidor base para que
gestione las llamadas automáticas ya que adicional posee vinculada una base de
datos MySQL para guardar la información de aquellos que se registren en el portal
web.
22
BASE DE DATOS
Una base de datos se lo puede definir como un banco de información que
almacena grandes cantidades de datos en un solo punto, las mismas se
conforman de tablas, campos y registros, estos datos se encuentran al alcance de
todos los usuarios de los sistemas que interactúen con ella (VELASCO &
IDUARTE, 2009).
Para manejar las bases de datos se utilizan los Sistemas de Gestión de Base de
Datos (SGBD), que es un software que permite servir de interfaz entre el usuario,
la base de datos y las aplicaciones que las utilizan. Se debe recordar que este es
un sistema compartido por lo que es necesario la creación de reglas en el SGBD
para que los datos se mantengan en confidencialidad y seguros.
El proyecto utiliza el tipo de base de datos MySQL ya que se encuentra incluida
en el servidor Elastix y para una correcta accesibilidad en los datos se realiza la
gestión con la herramienta SQL Yog:
Ingreso a la Base de Datos
Gráfico No.8
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
23
ESTACION BASE GSM
Una estación base o base móvil es un dispositivo electrónico el cual permite la
comunicación con varias redes móviles o teléfonos celulares. El sistema de
estación base habilita la función del dispositivo de trabajar en el sistema GSM que
en si permite la gestión de las comunicaciones de radio, manejo del traspaso de
llamadas entre células e incluso el nivel de la potencia de la señal.
En el presente proyecto se utiliza el dispositivo portátil GSM denominado Estación
Móvil (MS), que son prácticamente teléfonos digitales, el mismo que consta de un
dispositivo SIM para poder detectar los operadores de red disponibles y lograr
realizar las llamadas. Los mecanismos de seguridad de GSM se implementan en
los tres elementos diferentes del sistema que son el SIM (Modulo de Identidad del
Abonado), la estación base móvil y la red GSM (Hernández O. M., 2013).
Ejemplo de Estación Base Móvil
Gráfico No.9
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
24
FUNDAMENTACIÓN SOCIAL
La sociedad consiste en “realidades múltiples” que poseen un signo en común,
siendo dinámicas y cambiantes, los hombres actúan en ellas para modificarlas,
total o parcialmente, e incluso quieren bridarles nuevos significados. A partir de
esta reflexión se verifica que en la flexibilidad que posee esta realidad múltiple
pueden aparecer desequilibrios, tensiones y rupturas (Martínez Paz, 2015).
Esta es la razón por la que el CNE a través de su programa ABC de la democracia,
intenta guiar a la sociedad brindando algo fundamental como lo es el conocimiento
de saber los principios sobre los cuales se basa la realidad como ecuatorianos,
educando a la ciudadanía para que logren formar una mejor sociedad y
habiéndose justificado la existencia de este tipo de capacitaciones que mejor
manera de llegar que a través de la tecnología, en el caso del presente proyecto
mediante el teléfono celular.
FUNDAMENTACIÓN LEGAL
Dentro de los fundamentos legales que abarca el proyecto de titulación en el Plan
Nacional del Buen Vivir cabe recalcar los siguientes:
(Buen Vivir, 2014) Dice: “Garantizar la igualdad real en el acceso a servicios de
salud y educación de calidad a personas y grupos que requieren especial
consideración, por la persistencia de desigualdades, exclusión y discriminación”,
La implementación del proyecto permite acercar a la comunidad en igualdad, es
entonces que junto con las notificaciones automáticas se logra obtener la atención
de los ciudadanos que desconocen de los principios de la democracia en el
Ecuador con una llamada a su teléfono móvil, esto incluye a todo aquel ciudadano
que se registre en el curso sin exclusión logrando lo que se menciona en el objetivo
2 del Plan Nacional del Buen Vivir, Política 2.2.
25
Logra también cumplir con lo que se menciona en el Objetivo 3 en la mejora de la
calidad de vida de la población, Política 3.1. (Buen Vivir, 2014) Indica: “Promover
el mejoramiento de la calidad en la prestación de servicios de atención que
componen el Sistema Nacional de Inclusión y Equidad Social”, ya que se innova
en un nuevo sistema que es de calidad.
Por ultimo en el objetivo 11 que indica “Asegurar la soberanía y eficiencia de los
sectores estratégicos para la transformación industrial y tecnológica del Plan
Nacional del Buen Vivir”, (Buen Vivir, 2014) menciona: “Democratizar la prestación
de servicios públicos de telecomunicaciones y de tecnologías de información y
comunicación (TIC), incluyendo radiodifusión, televisión y espectro radioeléctrico,
y profundizar su uso y acceso universal, lo cual se cumple en el proyecto ya que
es basado en el software Elastix.
Según lo publicado e n la Ley Especial de Telecomunicaciones, Tercer
Suplemento, en el Título II Redes Y Prestación De Servicios De
Telecomunicaciones, Capítulo I - Establecimiento y explotación de redes, hace
referencia sobre las Redes Privadas y sobre su funcionamiento:
Artículo 13.- Redes privadas de telecomunicaciones.
Las redes privadas son aquellas utilizadas por personas naturales o jurídicas en
su exclusivo beneficio, con el propósito de conectar distintas instalaciones de su
propiedad o bajo su control. Su operación requiere de un registro realizado ante
la Agencia de Regulación y Control de las Telecomunicaciones y en caso de
requerir de uso de frecuencias del espectro radioeléctrico, del título habilitante
respectivo.
Las redes privadas están destinadas a satisfacer las necesidades propias de su
titular, lo que excluye la prestación de estos servicios a terceros. La conexión de
redes privadas se sujetará a la normativa que se emita para tal fin.
La Agencia de Regulación y Control de las Telecomunicaciones regulará el
establecimiento y uso de redes privadas de telecomunicaciones. (LEY ORGÁNICA
DE TELECOMUNICACIONES, 2015)
26
De igual manera en el Título VIII Secreto De Las Comunicaciones Y Protección
De Datos Personales, menciona en el Capítulo I Secreto de las comunicaciones,
Articulo 76, sobre las medidas que se deben tomar a consideración para la
seguridad de los servicios ofrecidos en una red propia:
Artículo 76.- Medidas técnicas de seguridad e invulnerabilidad.
Las y los prestadores de servicios ya sea que usen red propia o la de un tercero,
deberán adoptar las medidas técnicas y de gestión adecuadas para preservar la
seguridad de sus servicios y la invulnerabilidad de la red y garantizar el secreto de
las comunicaciones y de la información transmitida por sus redes. Dichas medidas
garantizarán un nivel de seguridad adecuado al riesgo existente.
En caso de que exista un riesgo particular de violación de la seguridad de la red,
el prestador de servicios de telecomunicaciones deberá informar a sus abonados,
clientes o usuarios sobre dicho riesgo y, si las medidas para atenuar o eliminar
ese riesgo no están bajo su control, sobre las posibles soluciones. (LEY
ORGÁNICA DE TELECOMUNICACIONES, 2015)
En el Capítulo II en sus Artículos 78, 82 y 84 se revisa la protección de los datos
personales:
Artículo 78.- Derecho a la intimidad.
Para la plena vigencia del derecho a la intimidad, establecido en el artículo 66,
numeral 20 de la Constitución de la República, las y los prestadores de servicios
de telecomunicaciones deberán garantizar, en el ejercicio de su actividad, la
protección de los datos de carácter personal.
Para tal efecto, las y los prestadores de servicios de telecomunicaciones deberán
adoptar las medidas técnicas y de gestión adecuadas para preservar la seguridad
de su red con el fin de garantizar la protección de los datos de carácter personal
de conformidad con la ley. Dichas medidas incluirán, como mínimo:
1. La garantía de que sólo el personal autorizado tenga acceso a los datos
personales para fines autorizados por la ley.
27
2. La protección de los datos personales almacenados o transmitidos de la
destrucción accidental o ilícita, la pérdida o alteración accidentales o el
almacenamiento, tratamiento, acceso o revelación no autorizados o ilícitos.
3. La garantía de la aplicación efectiva de una política de seguridad con respecto
al tratamiento de datos personales.
4. La garantía de que la información suministrada por los clientes, abonados o
usuarios no será utilizada para fines comerciales ni de publicidad, ni para cualquier
otro fin, salvo que se cuente con el consentimiento previo y autorización expresa
de cada cliente, abonado o usuario. El consentimiento deberá constar registrado
de forma clara, de tal manera que se prohíbe la utilización de cualquier estrategia
que induzca al error para la emisión de dicho consentimiento. (LEY ORGÁNICA
DE TELECOMUNICACIONES, 2015)
Artículo 82.- Uso comercial de datos personales.
Las y los prestadores de servicios no podrán usar datos personales, información
del uso del servicio, información de tráfico o el patrón de consumo de sus
abonados, clientes o usuarios para la promoción comercial de servicios o
productos, a menos que el abonado o usuario al que se refieran los datos o tal
información, haya dado su consentimiento previo y expreso. Los usuarios o
abonados dispondrán de la posibilidad clara y fácil de retirar su consentimiento
para el uso de sus datos y de la información antes indicada. Tal consentimiento
deberá especificar los datos personales o información cuyo uso se autorizan, el
tiempo y su objetivo específico. (LEY ORGÁNICA DE TELECOMUNICACIONES,
2015)
Artículo 84.- Entrega de información.
Las y los prestadores de servicios, entregarán a las autoridades competentes la
información que les sea requerida dentro del debido proceso, con el fin de
investigación de delitos. La Agencia de Regulación y Control de las
Telecomunicaciones establecerá los mecanismos y procedimientos que sean
necesarios. (LEY ORGÁNICA DE TELECOMUNICACIONES, 2015).
Y por último se especifica acerca de las obligaciones en el Título IX Equipos De
Telecomunicaciones:
28
Capítulo Único
Homologación y Certificación
Artículo 86.- Obligatoriedad.
Los equipos terminales de telecomunicaciones que utilice espectro radioeléctrico
y se conecten a redes públicas de telecomunicaciones deberán contar con la
homologación y certificación, realizadas de conformidad con las normas
aplicables, a fin de prevenir daños a las redes, evitar la afectación de los servicios
de telecomunicaciones, evitar la generación de interferencias perjudiciales y,
garantizar los derechos de los usuarios y prestadores. (LEY ORGÁNICA DE
TELECOMUNICACIONES, 2015)
IDEA A DEFENDER
Si se implementa el servidor de telefonía Elastix que genera llamadas
automáticamente y programado para que cada 5 minutos revise los registros de
la base de datos, se puede asegurar que notificará mediante el sistema de
llamadas automáticas a todos los usuarios del portal web que hayan culminado
con éxito el programa ABC de la democracia al momento de finalizar el curso
virtual y que el CNE contará con un sistema que se adapta a sus necesidades.
DEFINICIONES CONCEPTUALES
Notificaciones Push: Es un mensaje enviado de servidor a cliente, el cliente se
encuentra suscrito a las notificaciones para poder recibirlo.
Distro: Hace referencia a una distribución de Linux, la misma que contiene
específicos paquetes de software.
Central Telefónica PBX: Red telefónica privada para la comunicación interna de
una empresa.
29
VoIP: Significa voz a través de internet como lo indican sus siglas en inglés Voice
over IP, permite la comunicación de voz y datos sobre el protocolo IP (Internet
Protocol).
MySQL: Es un sistema de gestión de bases de datos que permite la
administración de las bases de datos en el caso del proyecto las que se
encuentren en el Servidor Elastix.
IVR: Software que interactúa mediante grabaciones de voz, es configurable y
permite escoger opciones de teclado para direccionar las llamadas entrantes.
TIC (Tecnologías de la Información y la Comunicación): Es un conjunto de
equipos y técnicas que gracias a la informática permiten comunicarse vía
electrónica a grandes distancias.
Equipo Gateway (puerta de enlace): Equipo que actúa de intermediario para
conectar redes con protocolos y arquitecturas diferentes en todos los niveles de
comunicación.
UTP: Cable Par trenzado sin blindaje utilizados para la conexión de redes.
FXO: Dispositivo electrónico que permite la conexión de equipos a una red
telefónica conmutada capaz de realizar y recibir llamadas de teléfono.
Shell de Linux: Shell proviene de caparazón, y en Linux significa intérprete de
comandos ya que es la interfaz entre el usuario y el sistema operativo.
Script en Linux: Es un archivo programable propio de Linux en el cual se puede
configurar la automatización de diversas tareas o acciones en un ordenador. Se
almacenan en textos planos.
Cron y Crontab: Cron es el programador de tareas para ejecución automática en
un momento de tiempo definido por el usuario. Crontab es el fichero donde se aloja
la configuración establecida para el Cron.
30
CAPÍTULO III
METODOLOGÍA DE LA INVESTIGACIÓN
DISEÑO DE LA INVESTIGACIÓN
MODALIDAD DE LA INVESTIGACIÓN
(Organización de los Estados Americanos, 2011) En su página web oficial dice:
“La Ciencia Aplicada, consiste en aplicar el conocimiento de uno o varios campos
de ciencias a problemas prácticos. Los campos de la ingeniería, por ejemplo, se
acercan a lo que es la ciencia aplicada”, el presente proyecto presenta una
propuesta de carácter tecnológico dentro del área de la ingeniería en Networking
y Telecomunicaciones que se desarrolla gracias a las ciencias aplicadas.
La investigación en su búsqueda por ayudar a alcanzar los objetivos del proyecto
presenta dos modalidades la cualitativa y cuantitativa, el caso de esta última ofrece
el método de la encuesta en la rama de la modalidad de investigación no
experimental que consiste en el uso de medios estadísticos para medir resultados
de manera concluyente.
Dicha investigación, o también conocida del latín Ex Post Facto significa después
de ocurridos los hechos. En la investigación Ex Post Facto los cambios en la
variable independiente ya ocurrieron y el investigador tiene que limitarse a la
observación de situaciones ya existentes dada la incapacidad de influir sobre las
variables y sus efectos (Hernández, Fernández, & Baptista, 2006), por lo que cae
dentro del marco de investigación no experimental en la que solamente se
estudiará cómo llegar por medio de una llamada telefónica.
En conclusión, en el presente proyecto no crea nuevas situaciones, sino que
basándose en experiencias similares se desarrolla una manera diferente de
notificar a los usuarios del portal web.
31
TIPO DE INVESTIGACIÓN
El tipo de investigación según los medios utilizados para obtener los datos cae en
la investigación de campo y según Arias Fidias, consiste en la recolección de datos
directamente de la realidad donde ocurren los hechos, sin manipular o controlar
variable alguna (Fidias, 2011), esto se cumple puesto que se encuesta en sitio a
los profesionales en el tema acerca del producto y habiéndose realizado un
análisis de lo consultado se da validez al mismo con las mejoras del producto final.
Asimismo, se tiene el tipo de proyecto factible. Para (Cerda Gutiérrez, 2004) la
factibilidad de un proyecto tiene como finalidad permitir la selección entre las
variantes, determinar las características técnicas de la operación, fijar los medios
a implementar, establecer los costos de operación y evaluar los recursos
disponibles, reales y potenciales, haciendo referencia a que los proyectos deben
establecer una continuidad para poder obtener el objetivo planteado inicialmente.
POBLACIÓN Y MUESTRA
POBLACIÓN
La unión de sujetos o individuos que portan información con características
demográficas determinadas para obtener las muestras se define como población
(BELTRÁN, 2016). El CNE aspira capacitar a todos los cantones del Ecuador por
lo que se define en el presente proyecto como población a todos los ciudadanos
ecuatorianos. La INEC (Instituto Nacional de Estadística y Censos) en su página
oficial muestra como resultado del censo realizado en 2010 que el Ecuador
registra cerca de 14´483.499 millones de habitantes.
Población
Cuadro No. 2
POBLACIÓN CANTIDAD
Ciudadanos Ecuatorianos 14´483.499
Fuente: Investigación del Tema
Elaborado por: Carlos Zhague
32
MUESTRA
Según (Tamayo & Tamayo, 2003),define a la muestra como: “el grupo de
individuos que se toma de la población, para estudiar un fenómeno estadístico”.
El presente proyecto, al ser de nivel nacional, toma como muestra para el estudio
y elaboración de la encuesta a 100 profesionales con perfil técnico de
administradores de data center, administradores de redes de telecomunicaciones,
ingenieros certificados con CCNA, todos con experiencia de mínimo 3 años en
estos cargos, ya que con su criterio se podrá validar la aceptación de la propuesta.
Muestra
Cuadro No. 3
DESCRIPCION DE MUESTRA CANTIDAD
Ciudadanos profesionales con
perfil técnico 100
Fuente: Investigación del Tema
Elaborado por: Carlos Zhague
INSTRUMENTOS DE RECOLECCIÓN DE DATOS
LA TÉCNICA
Luego de seleccionar la población se escoge como técnica de recolección de datos
el método de la encuesta, realizando consultas de conocimiento general en la parte
técnica del proyecto, esto permitirá identificar inexactitudes y sugerir mejoras como
también ayudara con la validación de los criterios de aceptación del producto que
se encuentran definidos en el capítulo 4.
La encuesta
La encuesta es una técnica que a través de una serie de preguntas a varias
personas proporciona datos para obtener información variada de un tema un
particular y así poder llegar a un análisis del mismo. Es constantemente utilizada
33
en las ciencias sociales y lleva una gran función en la elección de los gobiernos.
Utiliza preguntas abiertas creando mayor oportunidad de recoger información
objetiva, emplea informantes y muestras intencionadas (Alvira Martin, 2011), por
ende, en el proyecto se toma la opinión de varios profesionales del tema de
telefonía que dieron su valioso criterio acerca de los diseños de red telefónica y
sobre los procesos de la telefonía a través de troncales SIP que ayudaron con el
análisis y enfoque objetivo del proyecto.
Gracias a la encuesta se pudo obtener los factores que evaluaron el proyecto para
lograr un producto final de calidad. Según (Fernandez Nogales, 2004) existen 3
tipos de encuestas, la personal en la que existe un contacto directo entre el
encuestador y el encuestado, la encuesta postal ya que se utiliza el correo
electrónico para llegar al interesado y la telefónica que se realiza una llamada
telefónica al interesado.
INSTRUMENTOS DE INVESTIGACIÓN
Se selecciona como instrumento de investigación el cuestionario.
Instrumentos de la Investigación
Cuadro No. 4
INSTRUMENTO TÉCNICA
Cuestionario Encuesta
Fuente: Investigación del Tema
Elaborado por: Carlos Zhague
RECOLECCIÓN DE INFORMACIÓN
Para la recolección de información se diseña un cuestionario de 10 preguntas, las
plantillas se encuentran en el Anexo No.1. Esta encuesta fue llevada a cabo a
profesionales con perfil técnico de mínimo 3 años de experiencia en el área. Se
realizaron en diferentes empresas y dirigidas a los administradores de red en el
periodo comprendido entre el 1 al 29 de julio del 2016 en horarios laborables.
34
PROCESAMIENTO Y ANÁLISIS
ENCUESTA EFECTUADA A PROFESIONALES CON PERFIL TÉCNICO EN
REDES Y TELEFONÍA
Pregunta #1
¿Considera usted innovadora la propuesta de la implementación un servidor
ELASTIX que notifique mediante llamadas automáticas a los usuarios del
portal web del CNE acerca de la culminación del curso virtual?
Implementación del Servidor Elastix
Cuadro No.5
OPCIONES CANTIDAD %
LO CONSIDERA 94 94%
NO LO CONSIDERA 5 5%
ES INDIFERENTE 1 1%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Implementación del Servidor Elastix
Gráfico No.10
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: Se verifica en el gráfico que un 94%, es decir casi todos los
encuestados, indican que la implementación propuesta es innovadora.
94%
5%
1%
ENCUESTA #1
LO CONSIDERA
NO LO CONSIDERA
ES INDIFERENTE
35
Pregunta #2
¿Luego de visualizar el diseño de red, considera usted que es un diseño
óptimo y que cumple con lo requerido en la propuesta para el CNE?
Diseño de red
Cuadro No.6
OPCIONES CANTIDAD %
CUMPLE 100 100%
NO CUMPLE 0 0%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Diseño de red
Gráfico No.11
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: En la presente consulta se comprueba que los encuestados consideran
que el diseño de red propuesto cumple con los requerimientos de lo solicitado por
el consejo nacional electoral. Se realiza a los profesionales una explicación
detallada de las conexiones físicas de los equipos de comunicación, la
configuración del router que crea la red LAN y como se identifica cada equipo con
su respectiva dirección IP. Se muestran fotografías de los servidores y los equipos
de comunicación.
100%
0%
ENCUESTA #2
CUMPLE
NO CUMPLE
36
Pregunta #3
¿Considera usted a la solución de comunicación unificada Elastix como la
mejor opción en servidores de telefonía para el presente proyecto?
ELASTIX
Cuadro No.7
OPCIONES CANTIDAD %
LO CONSIDERA 100 100%
NO LO CONSIDERA 0 0%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
ELASTIX
Gráfico No.12
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: Elastix siendo una solución de comunicación unificada, ha demostrado
ser la mejor opción en el proyecto propuesto al complementar sus servicios con la
base de datos MySQL, adicional que posee un escritorio de trabajo fácil de
comprender y utilizar. Como indican los resultados de la consulta todos los
encuestados tuvieron el criterio compartido que Elastix fue la mejor solución para
la implementación de la propuesta.
100%
0%
ENCUESTA # 3
LO CONSIDERA
NO LO CONSIDERA
37
Pregunta #4
¿Cree usted que la virtualización del servidor Elastix implica que habrá
inconvenientes a futuro en el funcionamiento del mismo?
Virtualización
Cuadro No.8
OPCIONES CANTIDAD %
FUNCIONARA SIN NOVEDAD 98 98%
HABRÁ INCONVENIENTES 2 2%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Virtualización
Gráfico No.13
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: En la actualidad no es novedad que la mayoría de servicios de telefonía
opten por virtualizar sus servidores ya que permite ahorrar recursos en los equipos
principales y genera ahorro en implementaciones. Se consulta y el 98% de los
encuestados aseguran que funcionará sin novedades el servidor aun así se
encuentre virtualizado, solo un 2% indico que podría haber problemas por temas
de recursos físicos. Se informa a los profesionales técnicos las características del
hardware del servidor base.
98%
2%
ENCUESTA # 4
FUNCIONARA SINNOVEDAD
HABRAINCONVENIENTES
38
Pregunta #5
Dentro de las funciones del Servidor Elastix se encuentra el gestor de base
de datos MySQL. ¿Considera usted que la Base de Datos cumple con los
requerimientos del proyecto?
Base de Datos
Cuadro No.9
OPCIONES CANTIDAD %
CUMPLE 100 100%
NO CUMPLE 0 0%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Base de Datos
Gráfico No.14
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: La base de datos alojada en el servidor Elastix a criterio de los
encuestados cumple con los requerimientos del proyecto. El servidor Elastix se
encuentra en un servidor base el cual posee una gran capacidad de memoria RAM
por lo que las funcionabilidades del equipo no se ven disminuidas en ningún
momento.
100%
0%
ENCUESTA #5
CUMPLE
NO CUMPLE
39
Pregunta #6
Luego de revisar las conexiones físicas de los equipos de comunicación
(servidor, Gateway, base celular), valide según la opción en qué condiciones
se encuentran:
a) Excelentes condiciones
b) Puede mejorar
c) Se encontraron defectos
Conexiones físicas de los equipos
Cuadro No.10
OPCIONES CANTIDAD %
EXCELENTES CONDICIONES 100 100%
PUEDE MEJORAR 0 0%
CON DEFECTOS 0 0%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Conexiones físicas de los equipos
Gráfico No.15
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: Con esta consulta los encuestados, luego de observar las conexiones
físicas de los equipos consideran que las mismas se encuentran en óptimas
condiciones para el correcto funcionamiento del proyecto.
100%
0%0%
ENCUESTA #6
EXCELENTESCONDICIONES
PUEDE MEJORAR
CON DEFECTOS
40
Pregunta #7
Luego de analizar las configuraciones y los procesos que se realizan para la
generación de llamadas desde la troncal SIP hasta la ejecución del archivo
“.call”, valore los mismos escogiendo una de las opciones:
a) Procesos satisfacen las necesidades del proyecto
b) Cumplen con lo requerido, pero puede mejorar
c) Cumplen con lo requerido, pero debe mejorar
Generación de llamadas del servidor
Cuadro No.11
OPCIONES CANTIDAD %
EXCELENTES CONDICIONES 97 97%
PUEDE MEJORAR 3 3%
DEBE MEJORAR 0 0%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Generación de llamadas del servidor
Gráfico No.16
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: La consulta consiste en explicar a los encuestados el proceso completo
que realiza internamente el servidor con una llamada automática a un registro de
la base de datos. Solo un 3% de los entrevistados indico que puede haber
pequeñas mejoras.
97%
3%
0%
ENCUESTA #7
EXCELENTESCONDICIONES
PUEDE MEJORAR
DEBE MEJORAR
41
Pregunta #8
Se utiliza un fichero crontab para realizar un barrido de información a la base
de datos y que ejecute el script de automatización cada 5 minutos, indique
si lo antes mencionado se cumple.
Automatización
Cuadro No.12
OPCIONES CANTIDAD %
CUMPLE 100 100%
NO CUMPLE 0 0%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Automatización
Gráfico No.17
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: En la siguiente consulta se explica cómo funciona la automatización de
las llamadas, y los encuestados indicaron que los procesos cumplen con lo
solicitado ya que se muestra las configuraciones realizadas en el crontab y en el
script que corre en el shell de Linux. Los encuestados analizaron las bases de
datos que se encuentran con una bandera que indica si la llamada se realizó o no.
100%
0%
ENCUESTA #8
CUMPLE
NO CUMPLE
42
Pregunta #9
¿Considera usted que el mensaje reproducido en la llamada automática
cumple con el objetivo propuesto?
Llamada
Cuadro No.13
OPCIONES CANTIDAD %
CUMPLE 100 100%
NO CUMPLE 0 0%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Llamada
Gráfico No.18
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: Las respuestas de la presente consulta determinan que el mensaje
reproducido en la llamada, informa correctamente que se ha culminado con éxito
el curso ABC de la democracia. Cabe recalcar que el propósito de la notificación
es incentivar a que los ciudadanos cataloguen al CNE de una organización que se
preocupa por incluir procesos innovadores, y así lograr captar el interés en nuevos
cursos y capacitaciones de este tipo.
100%
0%
ENCUESTA #9
CUMPLE
NO CUMPLE
43
Pregunta #10
¿Considera usted que el servidor podrá ser escalable a largo plazo en caso
de que el CNE desarrolle más cursos virtuales?
Escalabilidad
Cuadro No.14
OPCIONES CANTIDAD %
LO CONSIDERA 100 100%
NO LO CONSIDERA 0 0%
TOTAL 100 100%
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Escalabilidad
Gráfico No.19
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Análisis: Como resultado de esta última consulta los encuestados coinciden en
el criterio de que la propuesta tendrá escalabilidad. Al finalizar la encuesta se
explicó como el producto a ser entregado al CNE es escalable, ya que caso de
que la demanda de registros aumente no se verá afectado su rendimiento,
pudiendo adaptarse más equipos de comunicación a los ya existentes para la
ejecución de las llamadas. Tanto el software como el hardware permitirían adaptar
nuevas bases celulares para realizar más llamadas.
100%
0%
ENCUESTA # 10
LO CONSIDERA
NO LO CONSIDERA
44
VALIDACIÓN DE LA IDEA A DEFENDER
Como resultado de la encuesta realizada a los profesionales técnicos se consolida
que la implementación del servidor Elastix permite notificar de manera óptima a
todos los usuarios registrados en el curso virtual ABC de la democracia al
momento que finalicen la capacitación, entregando un producto con un elaborado
diseño de red, de bajos costo gracias a la virtualización, con un generoso gestor
de base de datos y capaz de ser autónomo gracias a la automatización. Los
resultados también concluyen en que las conexiones físicas y los procesos que se
encargan de dar funcionamiento al sistema se encuentran correctamente
elaborados y son completamente funcionales, creando una herramienta que
puede crecer de acorde a las necesidades del CNE.
45
CAPÍTULO IV
PROPUESTA TECNOLÓGICA
La propuesta tecnológica como se menciona en capítulos anteriores es la
implementación de un servidor de telefonía Elastix para que genere llamadas
automáticas a los números de teléfono que se encuentren en la base de datos del
mismo servidor. A continuación, se presenta el diseño de red de la
implementación:
Diseño para el funcionamiento del Servidor Elastix
Gráfico No.20
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
En el diseño de red se observa la interconexión de los equipos, los cuales se
encuentran correctamente relacionados para que la llamada pueda ser realizada
por la base celular. El router utilizado que crea una red LAN es un D-LINK DIR 600
con un puerto WAN y 4 puertos LAN. La red a trabajar es 172.16.1.0/24 con puerta
46
de enlace predeterminado el 172.16.1.1, asignando a cada uno de los equipos las
direcciones:
Para el servidor base - 172.16.1.251
Para el Servidor de Telefonía Virtual Elastix – 172.16.1.250
PC Cliente Virtual – 172.16.1.100
Gateway Grandstream – 172.16.1.240
Adicional se tiene la Base Celular interconectada con el Gateway, la base no
posee IP, se interconecta a través de cable y con un conector RJ-11. Esta base
se le asigna un chip de la operadora CNT para que pueda ejecutar las llamadas
de manera continua según lo configurado en el servidor.
SERVIDOR BASE
En el servidor base se realiza la instalación del Sistema operativo basado en Linux
Centos 6.5, el cual se configura de tal manera que logra comunicarse con toda la
red LAN. En el gateway se apunta a 172.16.1.1 y se asigna la dirección
172.16.1.251/24.
Configuración de tarjeta de red
Gráfico No.21
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
47
El servidor base también se encarga de manejar el módulo de automatización de
envío de SMS, por esta razón se configura el “hostname” como server.sms:
[root@server ~]# hostname
server.sms
Para resolver el nombre del archivo host se ubica el hostname server.sms dentro
de la ruta:
[root@server ~]# cat /etc/hosts
127.0.0.1 server.sms server localhost localhost.localdomain
localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain
localhost6 localhost6.localdomain6
Y se configura el Servicio DNS para acceso a internet de la siguiente manera:
[root@server ~]# more /etc/resolv.conf
# Generated by NetworkManager
#search elastix
nameserver 8.8.8.8
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
# DNS1=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
Teniendo en cuenta que se instala una máquina virtual, se establece la
comunicación entre el servidor físico y el servidor virtual. En la configuración de la
tarjeta de red física eth0, se habilita el modo bridge:
[root@server ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
La tarjeta de red virtual se denomina “br0” y manteniéndose la siguiente
configuración:
[root@server ~]# more /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
48
BOOTPROTO=none
IPADDR=172.16.1.251
NETMASK=255.255.255.0
GATEWAY=172.16.1.1
DNS=8.8.8.8
STP=ON
DELAY=0
MYSQL
Para la gestión de la base de datos en el servidor base es necesaria la instalación
de la herramienta MySQL, que permite la ejecución de scripts en el Shell de Linux.
Con el comando “yum” inicia la instalación como se indica a continuación:
yum install mysql-server
El servicio de la base de datos se debe mantener siempre activo, por esa razón
con la ayuda del comando “chkconfig mysqld on” el servicio se conserva activo a
pesar que se reinicie el servidor. Con “service mysqld start” se inicia el servicio y
para verificar su estado, se ejecuta “service mysqld status”.
Visualización del servicio MySQL activo
Gráfico No.22
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
INSTALACIÓN DEL SERVIDOR VIRTUAL ELASTIX
La instalación del Servidor de telefonía Elastix, como ya se ha mencionado antes
se lo realiza de manera virtual. Se utiliza el administrador de máquinas virtuales
de Centos, KVM:
49
Instalación de Servidor Elastix 2.4 virtual
Gráfico No.23
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Se inicia poniendo nombre a la máquina virtual para identificarla:
Nombre de la máquina virtual
Gráfico No.24
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
50
Se ubica la ruta del archivo .ISO de Elastix y se da clic en Adelante:
Creación de la máquina virtual
Gráfico No.25
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Se eligen 5GB del servidor base para la RAM de Elastix:
Asignación de RAM
Gráfico No.26
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
51
Se asignan 120GB para almacenamiento:
Asignación de disco duro virtual
Gráfico No.27
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Empieza la instalación:
Imagen principal. Instalación de Elastix
Gráfico No.28
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
52
Se selecciona en particionamiento los 120GB previamente asignados:
Partición de disco duro
Gráfico No.29
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Se selecciona la versión 4 del protocolo IP:
Activación de tarjeta de red
Gráfico No.30
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
53
Se direcciona la tarjeta de red con la IP 172.16.1.250:
Configuración de la tarjeta de red eth0
Gráfico No.31
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Se asigna el Gateway 172.16.1.1 y los DNS:
Configuración de Gateway y DNS
Gráfico No.32
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
54
Se configura el nombre del servidor server.elastix:
Nombre del servidor Elastix
Gráfico No.33
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Se establece como contraseña root ‘zhrufr1234’:
Configuración de contraseña “root”
Gráfico No.34
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
55
En la siguiente imagen se visualiza Elastix en su instalación:
Instalación de Elastix 2.4
Gráfico No.35
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
El asistente permite asignar una contraseña para el servicio de servicio base de
datos, y se configura ‘zhrufr1234’:
Configuración de contraseña MySQL
Gráfico No.36
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
56
Asimismo, solicita la configuración de una contraseña para poder administrar
Elastix vía web, también indica que el user va a ser ‘admin’. Se configura la
contraseña ‘zhrufr1234’ y finaliza el proceso de instalación.
Configuración de contraseña para Login Web
Gráfico No.37
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Una vez finalizado el proceso de instalación, con la IP 172.16.1.250 se ingresa al
servidor de Elastix vía web:
Ingreso a Elastix vía web
Gráfico No.38
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
57
CONFIGURACIÓN DEL SERVIDOR ELASTIX
RECONFIGURACIÓN DEL ARCHIVO DE CONTEXTO DE ASTERISK
Agregación de nuevo contexto en extensions_custom.conf
Gráfico No.39
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
El Archivo de contexto es aquel que define el plan de marcado que sigue la central
telefónica, se encuentra en la ruta /etc/asterisk/extensions_custom.conf. El
archivo tiene varios contextos por los cuales realiza las llamadas, razón por la que
se debe incluir un nuevo contexto denominado “call-file-test” y se configura de la
siguiente manera:
Configuración del contexto “call-file-test”
Gráfico No.40
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
58
Dónde:
“exten => s,1,Playback(prueba1)” reproduce el archivo Prueba1, que es el audio que
se reproduce en la llamada
“exten => s,2,Hangup()” termina la llamada
CREACIÓN DE TRONCAL SIP
Lo siguiente es trabajar vía web en el dashboard de Elastix para realizar las
siguientes configuraciones: se ingresa a la sección SIP Trunk y se crea una nueva
troncal SIP denominada como Celular1, se configuran los campos Trunk Name y
PEER Details de la sección Outgoing Settings, sección que permite la
autenticación con el Gateway Grandstream en donde el nombre de la troncal será
100001.
Creación del SIP Trunk
Gráfico No.41
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
59
PEER details contiene la siguiente configuración:
Host: Dirección IP del equipo Gateway Grandstream.
Username: Usuario administrador del equipo.
Secret: Clave de autenticación del equipo Gateway Grandstream.
Type: Modo de acceso para las llamadas, existen 3 tipos: peers solo salida de
llamadas, user solo llamadas entrantes y friend salida y entrada de llamadas.
Disallow All: Permisos para poder utilizar los códec de voz.
Allow: Permite un códec especifico, para el proyecto el códec g729.
CONFIGURACIONES GENERALES DE MYSQL EN ELASTIX
Para acceder a la base de datos MySQL se ejecuta “mysql -u root –p”:
Acceso root a la base de datos MySQL
Gráfico No.42
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Con el siguiente comando se actualizan los privilegios de root en la red:
FLUSH PRIVILEGES;
60
Una de las funciones de MySQL es permitir el acceso remoto, consintiendo la
conexión a la base de datos desde otras estaciones de trabajo. Para garantizar el
acceso remoto se realiza la siguiente configuración:
GRANT ALL PRIVILEGES ON *.* TO 'root'@''172.16.1.251' IDENTIFIED BY
'zhrufr1234' WITH GRANT OPTION;
Se crea la base de datos del proyecto con el nombre AudioElastixDialerBD:
create database AudioElastixDialerBD;
Con el comando ‘show databases’ se verifica las bases de datos que contiene
Elastix y como se observa en la imagen ya se encuentra creada
AudioElastixDialerBD. Los datos que contiene son ingresados a través de un insert
realizado por la base de datos principal. Para ingresar a la base de datos se
ejecuta el comando ‘use AudioElastixDialerBD;’.
Bases de datos que contiene Elastix
Gráfico No.43
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
61
Con el comando ‘show tables’ se muestran las tablas de la base de datos
AudioElastixDialerBD y se verifica una tabla denominada ‘calloutnumeros‘, la cual
recibe datos de la tabla usuarios que se encuentra en base de datos principal del
portal web, donde se registran los usuarios a través de un insert que contiene los
datos de los campos a llenar en la tabla.
Tablas en AudioElastixDialerBD
Gráfico No.44
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Los campos de la tabla “calloutnumeros” necesarios para la ejecución del script
son solamente 4, el campo ID que define el numero subsiguiente en la lista de la
base de datos, campo Teléfono que es el número celular móvil del usuario, campo
Nombre, y por último el campo Llamada que hace referencia a una bandera,
variable ‘n’ = llamada no realizada y variable ‘s’ = llamada realizada.
Descripción de los campos de la tabla
Gráfico No.45
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
62
CONFIGURACIÓN DEL GATEWAY
Se configura el Gateway Grandstream para habilitar la comunicación con el
Servidor Elastix. En configuraciones generales se coloca la IP del servidor SIP, en
este caso del servidor Elastix que es la IP 172.16.1.250.
Direccionamiento IP de Gateway Grandstream
Gráfico No.46
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Para revisar el estado de red se ingresa en Network Status:
Estado de la configuración de red en el Gateway
Gráfico No.47
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
63
Para finalizar se configura la troncal 100001 previamente también configurada en
la troncal SIP del servidor Elastix, así como también el ID de autenticación y su
respectiva contraseña.
Configuración de la cuenta de usuario SIP
Gráfico No.48
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Una vez configurado el Gateway se encuentra habilitado para poder enrutar las
llamadas hacia la base celular. Se presenta una imagen de la estación base móvil
que se utiliza en el proyecto.
Base celular móvil Telcom
Gráfico No.49
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
64
INSTALACIÓN DE CÓDEC DE AUDIO G729.SO
Se instala el códec audio G729.SO de acuerdo a la versión del sistema operativo
Elastix para la mejora en la reproducción de audios en los formatos .gsm. La
instalación se la realiza de la siguiente manera:
Se descarga el códec seleccionado en el directorio /usr/lib/asterisk/modules/
cd /usr/lib/asterisk/modules/
wget http://asterisk.hosting.lv/bin/codec_g729-ast18-gcc4-glibc-x86_64-core2-
sse4.so
Se renombra el códec
cd /usr/lib/asterisk/modules/
mv codec_g729-ast18-gcc4-glibc-x86_64-core2-sse4.so codec_g729.so
Se habilita los permisos de ejecución:
chmod +x codec_g729.so
Se reinicia el servicio de asterisk
asterisk -rvvvv
CLI>core restart now
Para validar que el códec se hay instalado correctamente se ejecuta:
asterisk -rvvv
*CLI>core show translation
Verificación de códec de audio G729.SO
Gráfico No.50
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
65
HERRAMIENTAS DE ADMINISTRACIÓN DEL SERVIDOR ELASTIX
Por necesidad de administrar los procesos que se gestionan en el Servidor Elastix,
se levanta una nueva máquina virtual en el servidor base con el sistema operativo
Windows 7 y en ella se instalan las siguientes herramientas de administración.
SQLyog.- Con la herramienta SQLyog se gestiona la base de datos
AudioElastixDialerBD de una manera gráfica, se puede configurar la autenticación
con el servidor Elastix de manera predeterminada y ejecutar en tiempo real el
estado de las tablas, así como modificarlas ejecutando líneas de comando, todo
dentro de un mismo escritorio de trabajo.
Ejemplo de una consulta en la base de datos
Gráfico No.51
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
PuTTY (Port unique TTY: terminal type).- Esta herramienta permite conectar
vía consola a los servidores mediante un PC con Windows, razón por la cual se
instaló Windows como máquina virtual adicional, en el presente proyecto se utiliza
para mantener varias consolas abiertas a la vez y monitorear los procesos y logs
de eventos.
66
Varios accesos simultáneos con PuTTY
Gráfico No.52
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
WinSCP.- Permite la gestión y transferencia de archivos entre un pc Windows y
un sistema Linux utilizando el protocolo SSH (Secure Shell). En este caso el cliente
(máquina virtual Windows7) se conecta al Servidor Elastix remotamente para
poder realizar la trasferencia de archivos.
Dashboard de WinSCP
Gráfico No.53
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
67
AUTOMATIZACIÓN
Diagrama de flujo del proceso que realizan las llamadas automáticas
Se elabora un diagrama de flujo indicando el proceso completo desde que el
usuario se registra en el portal web hasta que es realizada la llamada. En el
diagrama de flujo se incluye el proceso de envió de SMS ya que pertenece al
módulo del equipo de trabajo de notificaciones, pero no interfiere los procesos
propios de las llamadas. El diagrama podrán visualizarlo en el Anexo No.2
Archivos .call
Este tipo de archivos contiene los parámetros necesarios para generación de la
llamada, se encuentra en la ruta /var/spool/asterisk/outgoing/. El servidor Elastix
genera estos archivos de manera automática cuando se realiza una llamada
manualmente, pero gracias al script de automatización creado en el proyecto, se
modifican los campos para la ejecución de las llamadas. El archivo .call que
genera el servidor al realizar una llamada, por defecto viene con los siguientes
campos:
Sintaxis de archivos .CALL
Gráfico No.54
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Como se puede observar en el campo Channel, se encuentra la ruta de la troncal
SIP 100001, que se configuró en el Servidor y en el Gateway, junto con el número
de celular (987008138) y la dirección IP del servidor Elastix (172.16.1.250).
68
Script de automatización
Se ha indicado previamente el proceso (diagrama de flujo) que el usuario debe
registrarse para la realización de la llamada, también se menciona que al realizar
una llamada se genera un archivo .call, pero hasta ese punto solamente se realiza
la llamada ejecutándola manualmente.
Para la automatización se elabora un script en el Shell de Linux, se lo denomina
‘sh_elastix_call.sh’, cuando se ejecute realizará el proceso de consultar la tabla
calloutnumeros de la base de datos específicamente el campo llamada, si la
bandera de este campo es N, extrae la data correspondiente y ejecuta la llamada.
Este archivo se encuentra en la ruta /var/.
El código completo del script se encuentra en el Anexo 3, el cual consta de los
siguientes bloques: rutas de desarrollo hace referencia a las rutas que se utilizan
para poder realizar las llamadas, configuración MySQL ejecuta la conexión con
la base de datos, configuración Elastix: ejecuta la conexión al servidor y habilita
la troncal SIP, sentencias SQL para la consulta de la base de datos, en caso de
encontrar el campo llamada con bandera N se procede con la generación de
archivos .call que es el bloque de programación de las llamadas automatizadas
y por último el bloque actualización de la base de datos que se encarga de
actualizar el campo llamada cambiando la bandera de ‘N’ a ‘S’.
Crontab
Para finalizar con el proceso de automatización el script debe ejecutarse cada
determinado periodo de tiempo, esto se puede realizar gracias a la herramienta
crontab.
Crontab es un archivo de texto que contiene una lista de comandos que van a
ejecutarse en un determinado tiempo programado por el usuario. De esta manera
se configura el archivo crontab para poder ejecutar el script de automatización
cada ‘n’ número de minutos y se consigue crear un sistema estable y asegura que
para cada registro que ingrese en la tabla calloutnumeros se ejecute una llamada
al número de teléfono del usuario del portal web.
69
Con el comando ‘crontab -1’ se puede visualizar el contenido del fichero, y se
configura de tal manera para que ejecute el script cada 5 minutos como se muestra
a continuación:
Configuración del fichero crontab
Gráfico No.55
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
La configuración queda de la siguiente manera:
*/5 * * * * es la sintaxis para el proceso se ejecute cada 5 minutos, Sh –x es el
comando que ejecuta el script, /var/sh_elastic_call.sh hace referencia a la ruta
donde se encuentra el script y finalmente var/log.log crea un log de eventos que
registra la fecha y hora en que se ejecutó el script por última vez. Para revisar el
log de eventos se ejecuta:
[root@server ~]# ll /var/log.log
-rw-r--r-- 1 root 51 ago 18 18:45 /var/log.lo
PRUEBAS DE LLAMADAS AUTOMÁTICAS
En esta última sección se realiza una prueba ingresando manualmente un registro
en la tabla calloutnumeros. Se ingresa el número de teléfono 0995701195 y los
demás datos para llenar los campos: ID=231, campana=1, nombre=Isack Zhague,
correo= [email protected], correo enviado=1, llamada por defecto viene
en ‘n’ ya que no se ha realizado aun y sms=´s´. Los campos correo, correo enviado
y sms se encuentran en la tabla, pero no son utilizados en la presente prueba.
70
Registro con bandera ‘n’ en campo llamada
Gráfico No.56
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Como ya es de conocimiento el crontab se encuentra a la espera de ejecutar el
script cada 5 minutos, en el caso de haber más de un registro las llamadas se
encolarán y se realizaran en el orden en el cual fueron registradas. A través de
CLI de Asterisk se puede monitorear las llamadas salientes cuando se encuentren
ejecutándose.
Consola del CLI de Asterisk
Gráfico No.57
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
71
Luego de realizada la llamada, el script actualiza la base de datos y cambia la
bandera del campo llamada a ‘s’:
Registro con bandera ‘s’ en campo llamada
Gráfico No.58
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
En la siguiente imagen se visualiza la llamada entrante realizada por la base móvil:
Llamada entrante
Gráfico No.59
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
72
ANÁLISIS DE FACTIBILIDAD
La factibilidad consiste en definir las posibilidades de éxito que tendrá un proyecto
propuesto. Al evaluar la factibilidad del sistema se realiza un análisis en diferentes
aspectos sobre el Hardware y Software existente y así poder medir los impactos
de cada una de los procesos individuales sobre el producto final.
FACTIBILIDAD OPERACIONAL
El CNE viendo la necesidad de mejorar y facilitar la metodología ya existente de
capacitación sobre el código de la Democracia, emprenden en conjunto con la
Universidad de Guayaquil el proyecto de la creación de un portal web para el ABC
de la democracia, nombre del curso virtual, desarrollando así una alternativa a los
convencionales cursos presenciales que llevan realizándose. Con herramientas
tecnológicas el proyecto elabora un producto final de calidad para la ciudadanía
de la República del Ecuador.
En la primera parte de desarrollo del proyecto como modo de prueba se utilizó una
primera versión del producto en demostraciones impartidas a los estudiantes de
la Universidad de Guayaquil. Los estudiantes que interactuaron con el producto
se mostraron muy interesados al recibir la notificación a través de llamadas y
recalcaron lo novedoso de la propuesta.
Con la investigación recogida de las encuestas a los profesionales que fueron
entrevistados se determina que es una propuesta innovadora y se ve la necesidad
de promover este tipo de proyectos tecnológicos de comunicación. Gracias a la
aceptación por parte del personal encargado del CNE y la validación de los
criterios de los encuestados queda demostrando la factibilidad operativa.
FACTIBILIDAD TÉCNICA
El análisis de factibilidad técnica evalúa si el Hardware y Software están
disponibles y si tienen las capacidades técnicas requeridas por cada alternativa
del diseño que se esté considerando. Al ser un nuevo producto para la CNE y
73
establecido previamente que nació de una propuesta se describe cuáles fueron
las herramientas (equipos y software) que se consideraron para la implementación
del mismo.
Las herramientas en el cuadro siguiente fueron escogidas según lo acordado por
el grupo de trabajo, 3 personas, que se encargaron de implementar el proyecto,
estableciéndolas de tal manera para que el servicio fuera más óptimo y los gastos
no incluyan sumas muy elevadas.
Solución Técnica
Cuadro No.15
EQUIPO CANTIDAD DESCRIPCIÓN
PC 1
Monitor, Teclado, Mouse, Case, Memoria
de 8GB, Procesador Core I3, Hard Drive
500GB, Unidad de CD Room.
Sistema Operativo 3 Centos 6.5, Elastix 2.4, Windows 7
Cable de Red 5 Cable UTP Categoría 5E
Router 1 DLink Dir 610N
Gateway 1 GrandStream 4 puertos FXO
Base Celular 1 Telcom, incluye cable RJ-11
Chip 1 Operador CNT
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
FACTIBILIDAD ECONÓMICA
Se considera solamente una opción en referencia a los gastos de equipos debido
a dos factores, el primero es que, siendo una propuesta, se desarrollaría las
llamadas automáticas utilizando solo una base celular por lo que no se requerirían
mayor cantidad de estos equipos. Como segundo factor se tiene la economía ya
que se llegó a un convenio con un distribuidor que colaboró con los precios más
económicos del mercado considerándolo como mejor oferta.
74
La implementación fue ejecutada por el grupo asignado del desarrollo del proyecto
“Diseño e implementación de un servidor de telefonía basado en Elastix enfocado
en el envío de notificaciones automáticas a bases de datos de los usuarios del
portal web ABC de la democracia para el CNE”, por lo que no se gastó en mano
de obra y los rubros de traslados de equipos fueron asumidos y divididos por los
3 estudiantes que participaron en el proyecto.
Se muestra en los siguientes cuadros el presupuesto que realizo cada colaborador
que fue por financiamiento propio, así también se muestra el presupuesto general
que se asumió para todo el proyecto.
Presupuesto ingresos
Cuadro No.16
INGRESOS POR COLABORADOR
Financiamiento propio
TOTAL DE INGRESOS
$600.00
$600.00
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Presupuesto egresos
Cuadro No.17
GASTOS
Suministros de oficina $20.00
Fotocopias e Impresiones $35.50
Servicios de Internet $40.00
Transportes $75.00
Refrigerios $90.00
Empastado, anillado de tesis de grado $85.00
Costos de equipos $1275.00
TOTAL DE GASTOS $1620.50
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
75
A continuación, se indica en el siguiente cuadro los costos de los equipos
Costos de equipos
Cuadro No.18
DESCRIPCIÓN CANTIDAD V. UNITARIO V. TOTAL
PC 1 $875 $875.00
Cable de Red 3m 5 $6 $30.00
Router 1 $35 $35.00
Gateway 1 $236 $236.00
Base Celular 1 $95 $95.00
Chip 1 $4 $4.00
TOTAL DE GASTOS $1275.00
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Luego de analizados todos los rubros y de constatar que el presupuesto que se
tiene en conjunto por los 3 estudiantes, sobrepasa el total de los egresos se puede
indicar que se tuvo la factibilidad económica para realizar el proyecto.
FACTIBILIDAD LEGAL
El Artículo 13 de la Ley Orgánica de Telecomunicaciones (LOTEL), R.O. No. 439
al 18 de febrero de 2015, hace referencia a la Redes privadas de
Telecomunicaciones y menciona lo siguiente:
TÍTULO II
REDES Y PRESTACIÓN DE SERVICIOS DE TELECOMUNICACIONES
CAPÍTULO I
Establecimiento y explotación de redes
Artículo 13.- Redes privadas de telecomunicaciones.
Las redes privadas son aquellas utilizadas por personas naturales o jurídicas en
su exclusivo beneficio, con el propósito de conectar distintas instalaciones de su
76
propiedad o bajo su control. Su operación requiere de un registro realizado ante
la Agencia de Regulación y Control de las Telecomunicaciones y en caso de
requerir de uso de frecuencias del espectro radioeléctrico, del título habilitante
respectivo.
Las redes privadas están destinadas a satisfacer las necesidades propias de su
titular, lo que excluye la prestación de estos servicios a terceros. La conexión de
redes privadas se sujetará a la normativa que se emita para tal fin.
La Agencia de Regulación y Control de las Telecomunicaciones regulará el
establecimiento y uso de redes privadas de telecomunicaciones.
Este articulo indica que “Las redes privadas están destinadas a satisfacer las
necesidades propias de su titular, lo que excluye la prestación de estos servicios
a terceros”, este el proyecto está siendo elaborado para el CNE, por lo que la
infraestructura de red que se crea, es para satisfacer la necesidad de incentivar
los cursos virtuales que imparta el CNE, en este caso el programa ABC de la
democracia.
Así también en su artículo número 23, literal 8, la Ley Orgánica de
Telecomunicaciones indica:
TÍTULO III
DERECHOS Y OBLIGACIONES
CAPÍTULO I
Abonados, clientes y usuarios
Artículo 23.- Obligaciones de los abonados, clientes y usuarios.
8. No realizar llamadas o enviar mensajes con fines de venta directa, comercial,
publicitaria o proselitista, que no hayan sido previamente aceptados por el
destinatario.
Esto hace referencia que no se realizará llamadas al usuario final sin el
consentimiento del mismo. Entre la información brindada en el curso virtual se le
hará conocer al ciudadano que recibirá una llamada automática a su teléfono móvil
77
a fin que se le notifique de que ha culminado con éxito la capacitación virtual
recibida.
De esta manera se define que es viable realizar una red interna que cumpla con
lo requerido por los intereses del CNE y se informa al usuario final que se utilizará
su número móvil solamente a fin de notificarle, de esta manera se cubre la
factibilidad legal del proyecto.
ETAPAS DE LA METODOLOGÍA DEL PROYECTO
Para su desarrollo el proyecto se dividió en sprints siguiendo la metodología
SCRUM.
La metodología SCRUM es aquella en la cual se va avanzando el proyecto según
las necesidades del dueño del producto, es más flexible por eso es conocida como
“Metodología Ágil”. El producto terminado no se entrega al final sino que se va
realizando pequeñas entregas y según los resultados de las mismas se irán
realizando nuevos cambios según las necesidades del cliente.
En este tipo de metodologías es necesario que el cliente interactúe con frecuencia
con el proyecto, de esta manera se satisface todas las necesidades del cliente.
Esto produce que el proyecto no necesite de tanto control y que haya menos roles
en los integrantes del proyecto.
Los sprint son el núcleo de la metodología SCRUM, se los puede denominar como
fases que conlleva el proyecto, pero no están rígidamente a seguir una tras otra.
En el presente proyecto se definió realizar un sprint por semana, en el cual cada
grupo de trabajo se le encargaba una lista de tareas que tenían que presentar al
finalizar la semana, estas tareas las realizaba cualquier miembro del grupo.
ELEMENTOS DEL SCRUM Y FASES DEL PROYECTO
El presente proyecto trabaja con 2 de los elementos que conforman al SCRUM
que son el product baklog y el sprint backlog. El primero es la lista de necesidades
78
del cliente que en su principio fue el diseño del portal web, pero conforme fue
avanzando el desarrollo y en conjunto con el CNE se realizó la propuesta de la
implementación del servidor de telefonía que justifica el presente proyecto.
El segundo elemento son los sprint backlog los cuales son la lista de tareas
asignadas a los grupos de trabajo y como se menciona anteriormente cualquier
persona en el grupo la ejecutaba. Al finalizar cada sprint se realizaba una
retrospectiva del sprint la cual era una reunión en la que se exponía lo realizado
en la semana y se planteaban ideas para la mejora del producto final.
Desde un punto de vista en general se puede dividir el proyecto en 2 fases y en
cada una de las fases se describe cuáles fueron los sprints realizados:
Fase de planificación:
Sprint 1. Estudio inicial del proyecto, reuniones y convocatorias para selección del
personal.
Sprint 2. Diseño del proyecto, formación de grupos de trabajo y definición de roles
del proyecto.
Sprint 3. Revisión y corrección del tutor, capacitación sobre proyecto y
metodología de desarrollo.
Sprint 4. Preparación de ambientes de desarrollo local (Hardware).
Sprint 5. Preparación de ambientes de desarrollo local (Software).
Sprint 6. Pruebas preliminares del servidor Elastix con Softphones.
Sprint 7. Pruebas de llamadas con rutas salientes hacia líneas móviles mediante
la base celular.
Sprint 8. Pruebas con varios registros a la vez de llamadas con rutas salientes
hacia líneas móviles mediante la base celular.
Sprint 9. Desarrollo de script para llamadas automatizadas y configuración del
crontab.
Sprint 10. Fase de pruebas internas.
Sprint 11. Entrega de informe sobre la fase de planificación.
Fase de Evaluación:
Sprint 12. Fase de integración y pruebas piloto.
79
Sprint 13. Fase de pruebas en producción.
Sprint 14. Fase de cambios y mejoras del sistema.
Sprint 15. Fase de capacitación.
Sprint 16. Fase de documentación.
Sprint 17. Fase de entrega de la primera versión.
Sprint 18. Elaboración de informe final.
ENTREGABLES DEL PROYECTO
El proyecto da como resultado la implementación del servidor virtual de telefonía
Elastix, se describen los entregables correspondientes:
1. Manual técnico de la configuración del servidor de telefonía, que incluye una
inducción sobre el script que genera las llamadas automáticas.
2. Bloc de notas con el script configurado en el servidor.
3. Máquina virtual Elastix.
4. CDROM que contiene manual técnico, bloc de notas y máquina virtual Elastix.
5. Adicional en caso de requerirlo el CNE, se realizará la entrega del Gateway
Grandstream y de una base celular, equipos con los cuales fue realizado el
desarrollo del proyecto.
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA
Los criterios de la validación de la propuesta tecnológica se basan en la encuesta
realizada y descrita en el capítulo 3 del presente documento, ya que cada una de
las preguntas se formuló en base a los principales criterios a considerar del
proyecto y las respuestas están medidas en porcentajes los cuales se
contabilizarán obteniendo un promedio y determinando un porcentaje global.
Cada criterio tiene la puntuación del 1 al 100, en consideración de las 100
personas encuestadas, si el encuestado está de acuerdo con el criterio se sumara
un 1% de puntuación, caso contrario 0%. En el siguiente cuadro se describen los
criterios con su respectiva puntuación:
80
Criterios de validación de la propuesta
Cuadro No.19
CRITERIO DE VALIDACIÓN PUNTAJE EN
%
El Servidor Elastix encargado de notificar a los usuarios del portal web mediante llamadas automáticas, representa una propuesta innovadora para el CNE quien no cuenta con este tipo de sistemas.
94
El diseño de Red, es óptimo y cumple con lo requerido para implementar el sistema de llamadas automáticas.
100
La solución de comunicación unificada Elastix, es la mejor opción en centrales telefónicas para el presente proyecto.
100
La virtualización es una técnica que permite utilizar al máximo los recursos físicos, en el área de servidores de telefonía esta práctica es común y está justificada para el presente proyecto.
98
El gestor de base de datos MySQL del Servidor Elastix cumple con los requerimientos del proyecto.
100
Las conexiones físicas de los equipos de comunicación se encuentran en excelentes condiciones.
100
Los procesos y configuraciones del sistema de llamadas automáticas cumplen con los requerimientos del proyecto.
97
La configuración del fichero crontab y del script ejecutable en el Shell de Linux, permiten que las llamadas se procesen de manera automática.
100
El mensaje que se reproduce en la llamada automática cumple con el objetivo de informar al ciudadano que ha culminado con éxito el programa ABC de la democracia.
100
El servidor de telefonía podrá satisfacer la demanda de más llamadas en caso de la inclusión de nuevas funcionabilidades y usos que el CNE solicite.
100
TOTAL 989
PROMEDIO 98.9
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
Como resultado de la validación de la propuesta se obtiene un 98.9% de
aceptación de la misma, cifra elevada que justifica la implementación del proyecto.
81
CRITERIOS DE ACEPTACIÓN DEL PRODUCTO
Para el ágil desarrollo del proyecto se definió el uso de la metodología SCRUM, la
cual consta de entregas parciales del producto final denominadas Sprints. Estas
entregas que fueron aprobadas por parte del CNE, son las que justifican los
criterios de aceptación del producto final.
Criterios de aceptación del producto
Cuadro No.20
ACTIVIDAD EJECUTADA
CRITERIO DE ACEPTACIÓN
Diseño de red del proyecto
Se justifica el diseño de red ya que todos los equipos que lo componen son indispensables para la ejecución del proyecto.
Levantamiento de infraestructura física
La infraestructura implementada cumple con los requerimientos del diseño propuesto.
Selección de software para servidor de telefonía
La solución de comunicación Elastix cumple con los requerimientos del proyecto.
Configuración del servidor Elastix
La troncal SIP configurada en el servidor cumple con los requerimientos del proyecto.
Configuración de Gateway Gradnstream
El Gateway logra comunicarse sin novedad con el Servidor de Telefonía
Creación de la base de datos y sus tablas
La base de datos MySQL cumple con los requerimientos del proyecto.
Creación de Audio y transformación en formatos GSM.
El mensaje a reproducir en la llamada es claro y cumple con el objetivo de informar que el usuario ha culminado el curso.
Creación del script que ejecuta los archivos .call
El script cumple con los requerimientos del proyecto.
Configuración del archivo crontab
El archivo crontab permite la automatización de los procesos cada 5 minutos.
Pruebas de llamadas automáticas ingresando registros manualmente en la base de datos
El servidor de telefonía Elastix realiza exitosamente llamadas a los registros que se encuentren en la base de datos MySQL.
Pruebas de conexión con la base de datos del portal web
La base de datos del Servidor Elastix, recibe datos reales de los ciudadanos que se registran en el portal web.
Pruebas finales con registros reales de los usuarios del portal web
Los ciudadanos registrados en el portal web ABC de la democracia, reciben una llamada al aprobar el curso.
Fuente: Investigación del Tema
Elaborado por: Isaac Zhague
82
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
En el diseño de red para el funcionamiento del servidor Elastix se cumple con la
interconexión de los equipos de red, a través del Router Dlink se configura una
red para la comunicación e intercambio de datos entre los equipos (Gateway,
servidor base y virtual) y para el acceso a internet. La base celular encargada de
la realización de las llamadas se conecta al Gateway quien envía los datos del
número a llamar.
El uso de Elastix como servidor de telefonía para las llamadas automáticas fue la
mejor opción al brindar un ambiente web amigable para la configuración de las
troncales SIP que necesita el presente proyecto, adicional que incluye la
herramienta para la gestión de la base de datos cuyos registros se generan a
través de un insert de la base de datos principal del portal web que contiene datos
de los estudiantes que culminan con las cartillas del curso ABC de la democracia.
Gracias a la creación de un script en el shell del servidor de Elastix se obtiene la
automatización de las llamadas. El script verifica si hay nuevos registros en la base
de datos y en ese caso crea un proceso que realiza la ejecución de la llamada. Se
elabora también un fichero crontab para ejecutar el script cada 5 minutos. De esta
manera se obtiene un sistema que va a estar leyendo la base de datos
continuamente y ejecutando las llamadas.
83
RECOMENDACIONES
Al finalizar el diseño de red se debe indicar que el servidor de telefonía Elastix es
totalmente funcional aun virtualizado. Se recomienda, si la empresa interesada
esta en las capacidades, añadir un switch como mejora del diseño para la
interconexión de más equipos ya que puede darse la necesidad por parte del CNE
realizar más llamadas simultaneas, en este caso es necesario añadir el dispositivo
mencionado.
Referente al servidor Elastix, actualmente solo cuenta con una troncal SIP que es
enlazada a la base celular móvil, pero en el caso que el CNE lo amerite se puede
indicar la configuración de más troncales SIP para la generación de llamadas
simultáneas con más de una base celular.
Para la automatización se recomienda asignar un analista de monitoreo ya que a
pesar que el programa es estable y los procesos se ejecutan automáticamente,
en caso que la demanda de usuarios aumente se necesitaría el ajuste manual en
el crontab para disminuir el número de minutos en que se ejecute el script para la
correcta distribución de las llamadas.
84
BIBLIOGRAFÍA
Agudelo Vergara, J. A., & Rangel Mora, M. A. (2016). Sistema de marketing
móvil vía notificaciones push para pequeños centros comerciales de la
ciudad de Cartagena. Cartagena: Universidad de Cartagena.
Alvira Martin, F. (2011). La encuesta: una perspectiva general metodológica.
Michigan: Centro de Investigaciones Sociológicas.
Asimtelec. (2012). serviciosdetelecomunicaciones.com. Obtenido de
serviciosdetelecomunicaciones.com:
http://serviciosdetelecomunicaciones.com/que-es-una-central-telefonica/
BELTRÁN, C. (2016). http://repositorio.uide.edu.ec. Obtenido de
http://repositorio.uide.edu.ec:
http://repositorio.uide.edu.ec/bitstream/37000/1530/1/T-UIDE-1199.pdf
Buen Vivir, P. N. (2014). Plan Nacional de Desarrollo/Plan Nacional para el Buen
Vivir 2013-2017. Versión resumida. Quito: Senplades.
CALERO, P. R., & NACIPUCHA, B. P. (2014). DISEÑO E IMPLEMENTACION
DE CENTRALES TELEFONICAS DE VOZ SOBRE IR PAARA
PRACTICAS DE ANALISIS DE TRAFICO, SEÑALIZACION,
PROTOCLOS DE COMUNICACION Y TROUBLESHOOTING VOIP
PARA USO EN EL LABORTORIO DE TELECOMUNICACIONES.
GUAYAQUIL.
Cerda Gutiérrez, H. (2004). Hacia la construcción de una línea de investigación.
Medellin: U. Cooperativa de Colombia.
Elastix. (2016). ELASTIX. Recuperado el 01 de 08 de 2016, de
http://www.elastix.org/
Fernandez Nogales, A. (2004). Investigacion y Tecnicas de Mercado. Madrid:
ESIC Editorial.
Fidias, A. (2011). EL PROYECTO DE INVESTIGACION TERCERA EDICIÓN.
Caracas: Episteme.
Hernández, O. M. (2013). http://www.monografias.com/trabajos75/tecnologias-
gsm-cdma-tdma-gprs/tecnologias-gsm-cdma-tdma-gprs2.shtml. Obtenido
de http://www.monografias.com/trabajos75/tecnologias-gsm-cdma-tdma-
gprs/tecnologias-gsm-cdma-tdma-gprs2.shtml: www.monografias.com
85
Hernández, R., Fernández, C., & Baptista, P. (2006). Metodologia de la
Investigacion Cuarta Edicion. Mexico. D,F: McGraw-Hill Interamericana.
LEY ORGÁNICA DE TELECOMUNICACIONES. (18 de 02 de 2015).
www.registroficial.gob.ec. Obtenido de www.registroficial.gob.ec:
http://www.telecomunicaciones.gob.ec/wp-
content/uploads/downloads/2016/05/Ley-Org%C3%A1nica-de-
Telecomunicaciones.pdf
Llumiquinga Grefa, D. S., & Pérez Carrión, L. A. (2012). Análisis, diseño y
construcción de un portal Web de gestión comercial para la empresa
Farmacored integrando herramientas de Voip sobre Elastix. Quito:
Ingeniería de Sistemas SUR - Tesis de Pregrado.
Martínez Paz, F. (2015). Política Educacional. Fundamentos y dimensiones.
Buenos Aires.
Organización de los Estados Americanos. (2011). portal.oas.org/. Obtenido de
http://portal.oas.org/Portal/Topic/CienciaTecnolog%C3%ADaeInnovaci%
C3%B3n/Programas/CienciasAplicadas/tabid/562/Default.aspx
Peñafiel, R. J., & Guerrero, M. A. (2011). Virtualización de Servidores con
Herramientas de Software Libre. Cuenca: Repositorio Universidad de
Cuenca. Obtenido de djbv.ucuenca.edu.ec:
http://cdjbv.ucuenca.edu.ec/ebooks/ts167.pdf
Pontón, M., Yánez, W., & Astudillo, G. I. (2011). Implementación de un sistema
para la generación automática de llamadas salientes en un Call Center.
Guayaquil.
Rocha Reina, O. (2011). DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN
PARA LA DISTRIBUCIÓN DE LAS LLAMADAS EN MÚLTIPLES
SERVIDORES ASTERISK MANEJANDO EL ACD PARA CALL CENTER
BAJO LINUX. Bogota.
Sarzosa Urquizo, X. F. (2014). Implementación de una central telefónica basada
en protocolos de internet utilizando elastix como servidor de
comunicaciones unificado en la empresa SAMASAT. Quito: Ingeniería de
Sistemas SUR - Tesis de Pregrado.
Solis, O. (2012). DISEÑO E IMPLEMENTACIÓN DE UNA CENTRAL
TELEFÓNICA IP PARA COMUNICACIONES UNIFICADAS UTILIZANDO
SOFTWARE LIBRE. San José.
Tamayo, M., & Tamayo. (2003). El proceso de la Investigación Científica. México
D.F.: LIMUSA S.A.
86
Telnline. (mayo de 2013). http://www.telonline.com/es/empresas/sobre-
telonline/blog/item/ip-pbx-y-troncales-sip. Obtenido de
http://www.telonline.com/es/empresas/sobre-telonline/blog/item/ip-pbx-y-
troncales-sip: www.telonline.com
VELASCO, B. O., & IDUARTE, R. F. (2009). BASE DE DATOS CENTRALIZADA
PARA SISTEMAS DE SEGURIDAD. GUAYAQUIL.
ANEXO No. 1
ENCUESTA EFECTUADA A PROFESIONALES CON PERFIL TÉCNICO EN
REDES Y TELEFONÍA
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN NETWORKING Y TELECOMUNICACIONES
Seleccione su respuesta al criterio planteado:
1.- ¿Considera usted innovadora la propuesta de la implementación un
servidor ELASTIX que notifique mediante llamadas automáticas a los
usuarios del portal web del CNE acerca de la culminación del curso virtual?
LO CONSIDERA
NO LO CONSIDERA
ES INDIFERENTE
2.- ¿Luego de visualizar el diseño de red, considera usted que es un diseño
óptimo y que cumple con lo requerido en la propuesta para el CNE?
CUMPLE
NO CUMPLE
3.- ¿Considera usted a la solución de comunicación unificada Elastix como
la mejor opción en servidores de telefonía para el presente proyecto?
LO CONSIDERA
NO LO CONSIDERA
4.- ¿Cree usted que la virtualización del servidor Elastix implica que habrá
inconvenientes a futuro en el funcionamiento del mismo?
FUNCIONARA SIN NOVEDAD
HABRA INCONVENIENTES
5.- Dentro de las funciones del Servidor Elastix se encuentra el gestor de
base de datos MySQL. ¿Considera usted que la Base de Datos cumple con
los requerimientos del proyecto?
CUMPLE
NO CUMPLE
6.- Luego de revisar las conexiones físicas de los equipos de comunicación
(servidor, Gateway, base celular), valide según la opción en qué condiciones
se encuentran
a) Excelentes condiciones
b) Puede mejorar
c) Se encontraron defectos
7.- Luego de analizar las configuraciones y los procesos que se realizan para
la generación de llamadas desde la troncal SIP hasta la ejecución del archivo
“.call”, valore los mismos escogiendo una de las opciones:
a) Procesos satisfacen las necesidades del proyecto
b) Cumplen con lo requerido, pero puede mejorar
c) Cumplen con lo requerido, pero debe mejorar
8.- Se utilizará un fichero crontab para realizar un barrido de información a
la base de datos y que ejecute el script de automatización cada 5 minutos,
indique si lo antes mencionado se cumple.
CUMPLE
NO CUMPLE
9.- ¿Considera usted que el mensaje reproducido en la llamada automática
cumple con el objetivo propuesto?
CUMPLE
NO CUMPLE
10.- ¿Considera usted que el servidor podrá ser escalable a largo plazo en
caso de que el CNE desarrolle más cursos virtuales?
LO CONSIDERA
NO LO CONSIDERA
ANEXO No.2
DIAGRAMA DE FLUJO DEL PROCESO QUE REALIZAN LAS LLAMADAS
AUTOMÁTICAS
ANEXO No.3
SCRIPT PARA LA GENERACION AUTOMÁTICA DE LAS LLAMADAS A LOS
USUARIOS REGISTRADOS EN LA BASE DE DATOS DE ELASTIX
##!/bin/sh
#
# Proyecto_CNE
# Universidad de Guayaquil - CISC
# Elaborado por: Isaac Zhague
# 2016-07-11
# Version: 1.0
#
# ---------------------------------------------------------------------
#########################################
##### VARIABLES GLOBALES A MODIFICAR ####
### Sistema ###
#Rutas de Desarrollo
ruta="/var"
procesados="/var/temporal"
asterisk="/var/spool/asterisk/outgoing/"
### Configuracion MySQL ###
user="root"
pass="zhrufr1234"
host="172.16.1.250"
db="AudioElastixDialerBD"
### Configuracion Elastix###
host_elastix="172.16.1.250"
troncal="100001"
### Sentencias SQL ###
sql="SELECT SUBSTRING(t.telefono,2) telefono FROM AudioElastixDialerBD.calloutnumeros
t WHERE t.llamada='n';"
campo="telefono"
cd $ruta
echo $ruta
mysql -h "$host" -u "$user" -p"$pass" "$db" > dd.txt <<EOF
$sql;
EOF
echo"GENERACION DINAMICA DE ARCHIVOS .CALL"
cont=0
for line in `cat dd.txt`
do
echo $procesados
if [ "$line" != $campo ];
then
echo "Channel: SIP/$troncal/$"$line"@$host_elastic" >> $procesados/nuevo_archivo$cont.call
echo "Callerid: " $line >> $procesados/nuevo_archivo$cont.call
echo "MaxRetries: 5" >> $procesados/nuevo_archivo$cont.call
echo "RetryTime: 60" >> $procesados/nuevo_archivo$cont.call
echo "WaitTime: 30" >> $procesad
os/nuevo_archivo$cont.call
echo "Context: call-file-test" >> $procesados/nuevo_archivo$cont.call
echo "Extension: s" >> $procesados/nuevo_archivo$cont.call
echo "Priority: 1" >> $procesados/nuevo_archivo$cont.call
echo "StartRetry: 2637 1 (1467240402)" >> $procesados/nuevo_archivo$cont.call
echo "EndRetry: 2637 1 (1467240342)" >> $procesados/nuevo_archivo$cont.call
mysql -h "$host" -u "$user" -p"$pass" "$db" -e "UPDATE AudioElastixDialerBD
.calloutnumeros r SET r.llamada = 's' WHERE r.llamada='n' AND r.telefono=$line;"
chmod 777 $procesados/nuevo_archivo$cont.call
cont=`expr $cont + 1`
fi
done
cd temporal
cp /temporal/ *.* -R $asterisk
cd $procesados
rm -f ll *.call
rm -f $ruta/dd.txt