





Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Servidor de VoIP con Raspberry y Elastix
Tipo: Guías, Proyectos, Investigaciones
1 / 9
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!






David Peláez^1 , Christian Tipantuña^2 (^1) Instituto Geofísico, Escuela Politécnica Nacional, Ladrón de Guevara E11-253, Quito, Ecuador, 17-
01-2759. (^2) Departamento de Electrónica, Telecomunicaciones y Redes de Información, Facultad de Ingeniería
Eléctrica y Electrónica, Escuela Politécnica Nacional, Ladrón de Guevara E11-253, Quito, Ecuador, 17-01-2759.
Autores para correspondencia: [email protected], [email protected]
Fecha de recepción: 21 de septiembre de 2014 - Fecha de aceptación: 17 de noviembre de 2014
El presente trabajo tiene como finalidad mostrar la configuración e implementación de un servidor de comunicaciones unificadas utilizando un Raspberry Pi como plataforma de hardware y la distribución de Elastix, micro-Elastix, desarrollada especialmente para trabajar en arquitecturas ARM.
Palabras clave: VoIP, comunicaciones unificadas, Elastix, Raspberry Pi.
This paper shows the configuration and implementation of a unified communications server using a Raspberry Pi as the hardware platform and the Elastix distribution as software platform, specifically micro-Elastix which has been developed to work on ARM architectures.
Keywords: VoIP, unified communications, Elastix, Raspberry Pi.
Actualmente las soluciones de comunicaciones unificadas han cobrado gran importancia en el entorno empresarial. En ellas se integran los servicios de telefonía, correo electrónico, correo de voz, fax, mensajería instantánea, en una sola plataforma unificada, con la finalidad de mejorar la productividad de una organización. Debido a ello en el mercado es posible encontrar infinidad de soluciones de este tipo desde las más sencillas hasta las más sofisticadas. En este caso como plataforma de software se ha utilizado u-Elastix debido a que esta distribución engloba a Free PBX y Asterisk, y además está bastante difundida, es muy estable y versátil; sin embargo es posible utilizar otras distribuciones como: kolab o trixbox. La implementación de un servidor de comunicaciones unificadas está basado en hardware y software libre, para ello se ha utilizado una Raspberry Pi como plataforma de hardware y miro-Elastix que es un software de código abierto para comunicaciones unificadas, como se mencionó anteriormente (Landivar, 2011).
El presente trabajo tiene como finalidad la configuración e implementación de un sistema de comunicaciones unificadas orientado a pequeños entornos empresariales o sectores rurales con baja densidad poblacional. Para la realización de este trabajo se ha utilizado un ordenador de placa reducida y de bajo costo denominado Raspberry Pi como plataforma de hardware y el software de código
abierto u-Elastix (micro-Elastix). Además para la interconexión del sistema a la PSTN se utiliza un gateway de voz.
Figura 1. Diagrama del sistema de comunicaciones.
Como se puede ver en la Fig. 1, el sistema utiliza para la interfaz inalámbrica una WLAN, a través de la cual los clientes de VoIP se comunican con el servidor Elastix; por otra parte se puede mencionar que el sistema puede permitir la ampliación de su cobertura con la utilización de un sistema de distribución inalámbrico WDS por sus siglas en inglés.
En 2013 la fundación Raspberry Pi^1 , cuyo objetivo es promover la educación tecnológica en los niños, saco al mercado una computadora de tamaño reducido que lleva su mismo nombre. El hardware de esta plataforma podría ser comparable con un computador Pentium 3 (Brendan, 2013). Posee un procesador central ARM1176JZF-S que funciona a 700 MHz que podría llegar hasta 1 GHz, un procesador gráfico VideoCore IV y 512 MB de memoria RAM. Posee dos puertos USB, un puerto Ethernet 10/100, Jack de audio 3,5 mm,HDMI, conector MIPI CSI para instalar un módulo de cámara, salidas de video RCA, HDMI y una interfaz DSI para panel LCD. Cuenta también con soporte para puertos GPIO, SPI, I2C (Richardson & Shwan, 2012). Esto quiere decir que por un precio muy reducido y añadiendo un monitor con conexión HDMI, un teclado y mouse USB, que son elementos que fácilmente encontramos en nuestra casa, se podría llegar a tener un computador personal de buenas características y totalmente funcional.
Elastix es una herramienta empresarial para de código abierto para comunicaciones unificadas, que se distribuye bajo la licencia GPLv2. Todas las versiones disponibles de Elastix son completas y sin
(^1) www.raspberrypi.org
5.2. Configuración de PBX
Dentro de la interfaz web de Elastix, la primera interfaz es la correspondiente al Dashboard. Como se ve en la Fig. 2, esta es la pantalla principal de Elastix y en la misma se muestra un resumen del uso de los recursos del sistema, el estado actual de algunos procesos y las llamadas realizadas.
Figura 2. Dashboard de Elastix.
Figura 3. Parámetros de la extensión.
Configuración de extensiones
Respecto a la configuración de las extensiones, este proceso resulta sencillo, ya que es posible acceder al bloque de configuración de la PBX, donde se pueden crear y configurar las extensiones de usuario. Aquí se tiene a disposición la opción de elegir entre dispositivos SIP, IAX y ZAP; en este caso el tipo de dispositivo seleccionado es SIP. Para una configuración básica solo se necesita el número de extensión, un nombre de usuario para mostrar y una clave de usuario que sirve para el registro del teléfono en el servidor, los demás parámetros se pueden dejar con la configuración por defecto.
Configuración del softphone En este caso el sofphone utilizado ha sido Zoiper, el cual, es un cliente de VoIP disponible como aplicación para Android (Fig.4); Zoiper es una aplicación que puede descargarse de forma gratuita. Una vez instalado el cliente de VoIP en el smartphone se debe configurar una cuenta SIP para que pueda registrarse en el servidor ELastix (Fig. 5). También existe un cliente de Zoiper compatible con la PC con el cual es posible realizar algunas pruebas.
Figura 4. Interfaz de Zoiper en Android.
Figura 5. Configuración troncal SIP.
Configuración de troncales SIP y rutas de llamadas
La configuración de las troncales SIP también se la realiza en esta sección, luego de entrar al menú correspondiente se selecciona el tipo de troncal y en ella se procede a configurar el número con el que se la va a identificar, el número de la PSTN por el cual se va a enviar las llamadas y los parámetros del Peer^3. Lo siguiente que se procede a configurar son las rutas entrantes y salientes, que son las que definen como se van a enrutar las llamadas desde la central IP hacia la PSTN, mediante que Gateway, y que plan de marcación se va seguir.
(^3) Parámetros que permiten el emparejamiento de la troncal SIP con la PSTN
Otro de los temas importantes cuando se trabaja en redes VoIP es la seguridad. Existen diferentes tipos de ataques de seguridad en una red de este tipo, estos pueden ser internos como externos. Cuando se habla de ataques internos estos son referidos a los que se pueden provocar debido a una mala infraestructura física de la red, así como también a los que provienen de personas mal intencionadas que filtran información del sistema como claves de acceso, configuraciones, etcétera. Los ataques externos, que son los que se van a tratar de combatir en el presente trabajo, son aquellos que provienen de fuera de la organización, uno de estos tipos de ataques externos es precisamente el que afecta al protocolo SIP y SSH y hay que considerar que estos protocolos son vulnerables a ataques de fuerza bruta y los intentos por acceder al sistema se dan en base a ataques de contraseña cracking. Para proteger al sistema de estos ataques se ha implementado una herramienta llamada Fail2ban, que es un software que previene el ingreso de intrusos al sistema, bloqueando las conexiones remotas que intentan acceder al sistema por fuerza bruta (Oliva & Estrella, 2014).
Figura 7. Configuración del IVR.
Figura 8. IP tablas de Fail2ban.
Lo que hace Fail2ban (Fig. 8), es revisar los logs del sistema en busca de intentos fallidos de registro y usando los IPtables configurados bloquear el acceso a las IP del atacante durante un lapso de tiempo, puede bloquear un puerto en específico o todos los puertos en caso de ser necesario. La prohibición de acceso puede levantarse luego de un tiempo por si el problema no fuera un intruso sino a un error de usuario al registrarse. Las notificaciones del suceso pueden verse mediante consola o es posible enviar una notificación por correo electrónico.
Luego de realizar algunas pruebas de funcionamiento se ha determinado que el sistema tiene buenas prestaciones en cuanto a la transmisión de voz se refiere. La llamada se nota fluida, sin distorsiones de la voz y con un retraso de casi un segundo, pero que no afecta a la comunicación ya que ambos interlocutores se encuentran en sitios alejados y se entienden perfectamente (Figs. 9 y 10). Las llamadas a la PSTN también son posibles, pudiendo el hablante comunicarse con cualquier número local o nacional. La comunicación es clara y fluida, pudiendo realizarse llamadas entrantes y salientes. Las llamadas hacia la PBX son posibles también llegando primero al IVR configurado y posteriormente seleccionando las opciones de desvío hacia las extensiones de usuario correspondiente.