apoyar la gestión de los recursos de una Central Virtual en la empresa Net7 Informe de experiencia profesional para optar el título profesional de Ingeniero de Sistemas 1. Resumen El problema que se identificó, está enfocado en la gestión de una central virtual, que la empresa NET7 brinda a sus clientes, mediante los software Asterisk y Elastix. El software Elastix que se utilizaba para gestionar los recursos de una central virtual, no cubría algunos requerimientos solicitados por los clientes, tales como, acceso a reportes consolidados en tiempo real a través de la web, distribución de su bolsa de minutos entre sus anexos. Se decidió implementar un sistema web, que logre satisfacer los requerimientos establecidos por los clientes, añadiendo nuevas funcionalidades a la central virtual. 2. Contexto en el que se desarrollo la experiencia 2.1 Empresa- Actividad que realiza NET7 es una empresa proveedora de soluciones de Tecnología de la Información y Telecomunicaciones, con amplia experiencia en soluciones de redes, soluciones de telefonía IP, soluciones de seguridad Informática y soluciones de software de Ingeniería.
Razón social: NET7 PERÙ S.A.C, domicilio en Av. Santiago
de Surco-Lima-Perú RUC: 20550077133. Principales Clientes: Entre los principales clientes que tiene la empresa NET7 son: Ministerio de Transporte y Telecomunicaciones, RENIEC, PCM, Empresa Nacional de Puertos; Logística Retail, Aplicaciones Corporativas, Multifoods, Pevisa.
Principales Proveedores: Adistec, Furukawua, Ingram
Micro, Licencias Online, Nexsys, Sonda, Kroton. 2.2 Organigrama 2.3 Área, Cargo y Funciones Desempeñadas Durante la implementación del sistema, desempeñe el rol de líder del proyecto en el área de Desarrollo de Aplicaciones.
Funciones realizadas durante el desarrollo del proyecto
fueron: Programar reuniones con el Sponsor, para obtener los requerimientos funcionales del Sistema. Supervisar al grupo de trabajo para que realizara las tareas encomendadas por el Sponsor del proyecto. Validar entregables con el Sponsor. 2.4 Experiencia Profesional realizada en la Organización Mi experiencia profesional dentro de la empresa NET7 ha sido muy enriquecedora, comenzando como un Desarrollador de Sistemas, hasta la actualidad que me desempeño como jefe de Ingeniería y de Productos. En el transcurso del tiempo que he trabajo en la empresa he visto y desarrollado varios proyectos, relacionado con el área de la Tecnología y las Telecomunicaciones; entre los temas puedo mencionar: Switches, Servidores, Desarrollo de Sistemas, cableado estructurado, virtualización de servidores, backup y replicación de servidores virtualizados, implementación de soluciones antispan, servicio de correo electrónicos, implementación de radio enlaces, entre otros. Certificados Obtenidos
VSP-VTSP 2015 Vmware
Veeam Techincal Sales Professional (VMTSP) Veeam Certificación Radwin PTP 450-650 Training Cambium FCS-CABLING Furukawua Programa de Especialización para ejecutivos (PEE) ESAN 3. Actividades Desarrolladas 3.1 Situación Problemática La empresa Net7 para ofrecer el servicio de centrales virtuales, utiliza los software Asterisk y Elastix, a pesar de la utilización de estos software, no se podía cubrir algunos requerimientos solicitados por el cliente tales como: Distribuir la bolsa de minutos entre los anexos creados. Administrar el control de los permisos de llamadas. Disponer de reportes consolidados en línea de las llamadas realizadas por los anexos. Agrupación de anexos. Realizar el corte del servicio de manera automática cuando un anexo excede el tope de minutos asignados. 3.2 Solución Desarrollar un nuevo sistema que cubra las expectativas de los clientes, mediante un portal web que permite generar en tiempo real, reportes estadísticos sobre el consumo en tiempo y monto de las llamadas por cada anexo, grupo o por central virtual, también customizar la bolsa de minutos entre sus anexos, así como la agrupación de anexos. 3.2.1 Objetivo General
Diseñar e implementar un sistema web para apoyar la
gestión de los recursos de una central virtual para la empresa Net7, que incluya funcionalidades de corte automático de servicio, control de permiso de llamadas, agrupación de anexos y distribución de bolsas de minutos, entre otros, además que sea adaptable en los diversos medios de transmisión de los accesos a internet que utilizan los clientes. Objetivos Específicos 1. Diseñar e Implementar el modulo de comunicación a nivel de base de datos entre los servidores (Central Telefónica- Servidor Dell que es donde se encuentra el sistema web).
2. Crear y complementar scripts en el Asterisk, que puedan
procesar datos y así poder agregar nuevas funcionalidades a la central virtual.
3. Diseñar e Implementar un entorno web de acceso sencillo y
seguro para los clientes.
4. Realizar pruebas de funcionamiento del sistema en los medios
de transmisión de acceso a internet (cobre, coaxial y satelital). Etapas Primera Etapa: Establecer la comunicación a través de base de datos de la central telefónica con el servidor Dell
Segunda Etapa: Agregar scripts en el Asterisk, que permita
ampliar las funcionalidades que ofrece la central virtual.
Tercera Etapa: Verificar que los scripts añadidos, pueda
interpretar y procesar los parámetros que se encuentran en la base de datos del servidor Dell. Cuarta Etapa: Diseñar e implementar el entorno web que permita una política de seguridad y accesibilidad al sistema web.
Quinta Etapa: Realizar pruebas de funcionalidad del sistema
web en diferentes medios de transmisión de acceso a internet. Desarrollo de las Etapas Primera Etapa: En esta etapa la central telefónica pudo acceder a los parámetros de las tablas de la Base de datos del servidor Dell, con el fin de poder leer y procesar estos datos. En esta etapa también se tuvo que replicar la Base de datos de la central telefónica en el servidor Dell, para obtener información del registro de llamadas que contiene duración de llamada, destino, anexo, etc. Segunda Etapa: Se tubo que agregar nuevos script en el Asterisk, con el cual se pudiera agregar nuevas funcionalidades a la central virtual.
Todo esto es posible gracias al AGI de Asterisk, que me
permite agregar librerías y así programar en diversos lenguajes de programación. Tercera Etapa: En esta etapa verificamos que los scripts añadidos puedan interpretar y procesar correctamente los datos que se encuentran en la BD del servidor Dell.
Para realizar las pruebas se utilizo un equipo analizador de
red en el cual, se podía verificar que anexo esta realizando la llamada, y cuanto tiempo duro la misma. Cuarta Etapa: En esta etapa se creara la lógica de acceso al sistema, donde el usuario (cliente, administrador) tendrá que loguearse para ingresar al sistema.
Cada usuario tendrá una vista determinada, por ejemplo
para un usuario cliente se tendrá acceso a las vistas, Anexos, Grupos y Reportes.
Para el administrador se tendrá acceso a las vistas, Empresa,
DID, Recargas, Consumo y Costo. Quinta Etapa: En esta etapa se realizó las pruebas de funcionamiento del sistema en diferentes medios de transmisión de acceso a internet, tales como cobre, coaxial y satelital. 3.2.1 Fundamentos Utilizados Telefonía IP: La telefonía IP es una tecnología que permite integrar en una misma red- basada en protocolo IP – las comunicaciones de voz y datos.
Terminales IP: Entre ellos tenemos a los teléfonos IP y a los
Softphone (es un software que emula a un teléfono y que puede ser instalado en ordenadores).
Telefonía en la Nube: Comprende diversos servicios que
pueden ser provistos a través de Internet, sin depender de equipamientos físicos del lado del usuario para su funcionamiento. Asterisk: Es un programa de software libre que proporciona funcionalidades de una central telefónica (PBX), se puede conectar un número determinado de teléfonos IP para hacer llamadas entre sí dentro de la misma organización e incluso acceder a comunicaciones fuera de la misma.
Elastix: Es un software de código abierto para el
establecimiento de comunicaciones unificadas basado en Asterisk, este software incluye servicios de comunicación como: correo de voz, soporte de softphones, interface de configuración web, entre otros. Asterisk Gateway Interface (AGI): La AGI provee una interfaz estándar para que programas externos puedan controlar el plan de marcación, generalmente los scripts se utilizan para realizar lógica avanzada, comunicarse con base de datos, etc ; entre los lenguajes de programación más comunes de scripts AGI son: PHP, Python y otros más. 4. Reflexión Crítica de la Experiencia 4.1 Aporte en el área de desarrollo y responsabilidades Mi aporte para el desarrollo del sistema mencionado era de evaluar y seleccionar las herramientas necesarias para su implementación:
Herramienta de desarrollo de la aplicación web: Se opto por
elegir a PHP, se eligió esta herramienta de desarrollo por los beneficios que nos ofrecía y porque el equipo de desarrollo estaba familiarizado con este lenguaje de programación. Motor de Base de Datos: Se eligió como Motor de Base de Datos a MySQL por las ventajas que nos ofrecía. 5. Conclusiones y Recomendaciones 5.1 Conclusiones Se implementó el sistema web multifuncional con sus respectivas funcionalidades asignadas como, automatización, control, distribución de minutos a los anexos, al cual el cliente puede acceder a través de los diversos medios de transmisión de acceso a internet. Se logró establecer la comunicación (replica de base de datos) entre la central telefónica y el servidor Dell (donde se encontraba el Sistema web propuesto), esto facilito en gran medida el desarrollo del Sistema web. Se verifico que los scripts creados permitieron añadir funcionalidades extras de la central virtual. Se implementó un portal web, flexible, seguro y de fácil acceso, con funcionalidades diferentes tanto para el cliente como para el administrador. Se realizó satisfactoriamente las pruebas del sistema, realizando llamadas de diferentes tipos de acceso a internet, logrando que el sistema realice todas las funcionalidades esperadas. 5.2 Recomendaciones El proyecto se pudo haber realizado aplicando una Metodología Ágil de desarrollo; específicamente la programación extrema (XP) ya que sus características encajaban en el desarrollo del sistema. Para el Desarrollo web se pudo haber utilizado un framework, y así poder utilizar las ventajas que estas nos brindan, como por ejemplo, uso de patrones de diseño MVC. Se recomienda alojar este sistema en la nube (empresas que brindan servicio de Cloud Computing), ya que estos servicios permiten escalabilidad y alto desempeño.