martes, 14 de diciembre de 2010

Central PBX con Trixbox...

Por: Hipólito Jean, Rosmart Rodríguez y José Peña.


Introducción


En la historia de las comunicaciones se han producido diversos cambios importantes através del tiempo. Desde el invento del teléfono, la creación de las centrales telefónicas encargadas de la conmutación de las llamadas, etc, se ha buscado siempre hacer mas efectiva la comunicación para los seres humanos y facilitar los procesos que intervienen en la misma. Todas las innovaciones que han surgido en las telecomunicaciones han llenado un espacio en las necesidades de los seres humanos y en el que hacer profesional de los ingenieros que se dedican a este amplio campo.


Durante este semestre el objetivo de la asignatura ha sido introducirnos de manera teórica y práctica a lo que es la tecnología de VoIP, la cual en los últimos años ha facilitado bastante la vida de millones de usuarios de la telefonía en el mundo entero. Un ejemplo de esto son aquellos usuarios que debían pagar un altísimo costo por la configuración de una central telefónica en sus residencias o negocios. Hoy día esta tarea se hace más práctica gracias a la implementación de software libre en materia de telefonía IP.


En nuestro caso hemos estado utilizando Trixbox, una popular distribución linux de software libre de la familia asterisk. Este trabajo se ha desarrollado en una configuración de equipos tales como computadores haciendo de servidores con el sistema operativo antes mencionado, laptops utilizando softphones, teléfonos ip, routers y un dispositivo bien importante, el media gateway.


Sin más preámbulos pasamos a ver el desarrollo de este interesante proyecto.



TrixBox


Es una distribución del sistema operativo GNU/Linux, basada en CentOS, que funciona como una central telefónica (PBX) por software basada en Asterisk. Como cualquier central PBX, permite interconectar teléfonos internos de una compañía y conectarlos la red telefónica convencional (PSTN).






Trixbox incluye entre, otras cosas, la creación de extensiones, envío de mensajes de voz a e-mail, llamadas en conferencia, menús de voz interactivos y distribución automática de llamadas. Al ser un software de código abierto, posee varios beneficios, como es la creación de nuevas funcionalidades. Algo muy importante es que no sólo soporta conexión a la telefonía tradicional, sino que también ofrece servicios VoIP -voz sobre IP-, permitiendo así ahorros muy significativos en el coste de las llamadas internacionales, dado que éstas no son realizadas por la línea telefónica tradicional, sino que utilizan Internet. Los protocolos con los cuales trabaja pueden ser SIP, H.323, IAX, IAX2 y MGCP.



Voz IP


Es una tecnología que permite enviar la voz por una red utilizando el protocolo de internet (ip). Esto se logra enviando la voz en forma digital y no de manera analógica como se hace en la telefonía tradicional. Para que esto sea posible se utilizan protocolos conocidos como protocolos ip.






Ventajas:

  • Evita los cargos por llamadas a los usuarios incluso aquellas que son de larga distancia.

  • Las llamadas de voz Ip son independientes de los proveedores del servicio de datos.

  • No requiere de contratos con proveedores.


Futuro de la Voz sobre IP:




El ancho de banda creciente a nivel mundial, y la optimización de los equipos de capa 2 y 3



para garantizar el QoS (Quality of Service) de los servicios de voz en tiempo real hace que el



futuro de la Voz sobre IP sea muy prometedor.


Características principales


    • Es independiente del tipo de red física que lo soporta. Permite la integración con las grandes redes de IP actuales.

    • Es independiente del hardware utilizado.

    • Permite ser implementado tanto en software como en hardware, con la particularidad de que el
      hardware supondría eliminar el impacto inicial para el usuario común.

    • Permite la integración de Vídeo.

SIP (Protocolo de Inicio de Sesiones)

Es un protocolo creado para establecer un estándar es las iniciación, modificación, finalización e sesiones interactivas donde uno o varios usuarios utilizan elemento de multimedia.


Funciones SIP


El protocolo SIP actúa de forma transparente, permitiendo el mapeo de nombres y la redirección de servicios ofreciendo así la implementación de la IN (Intelligent Network) de la PSTN o RTC.

Para conseguir los servicios de la IN el protocolo SIP dispone de distintas funciones. A continuación se enumeran las más importantes:


  • Localización de usuarios (SIP proporciona soporte para la movilidad).

  • Capacidades de usuario (SIP permite la negociación de parámetros).

  • Disponibilidad del usuario

  • Establecimiento y mantenimiento de una sesión


Finalmente, veamos qué hace de SIP un protocolo cada día más sólido. Aspectos importantes referentes a dicho protocolo se enumeran como sigue:

  • SIP necesita menos ciclos de CPU para generar mensajes de señalización de forma que un servidor podrá manejar más transacciones.

  • Una llamada SIP es independiente de la existencia de una conexión en la capa de transporte.

  • SIP soporta autentificación de llamante y llamado mediante mecanismos HTTP.

  • Un proxy SIP puede controlar la señalización de la llamada y puede bifurcar a cualquier número de dispositivos simultáneamente.


SIP es un protocolo con una gran escalabilidad, apto para convertirse en el futuro inmediato de la VoIP.


Arquitectura SIP


El estándar define varios componentes SIP y hay varias formas de implementarlos en un sistema de control de llamadas.


  • servidores User Agent,

  • Proxies

  • Registrars,

  • Redirect

  • Location.

A menudo, estos elementos son entidades lógicas que se ubican todas juntas para conseguir una mayor velocidad de procesamiento que dependerá a su vez de una buena configuración.


IAX 2 (Inter-Asterisk eXchange protocol)


El protocolo IAX2 fue creado por Mark Spencer para la señalización de VoIP en Asterisk, provee control y transmisión de flujos de datos multimedia sobre redes IP. El mismo utiliza un único puerto UDP, generalmente el 4569, para comunicaciones entre puntos finales para señalización y datos. El tráfico de voz es transmitido in-band, lo que hace a IAX2 un protocolo casi transparente a los cortafuegos y realmente eficaz para trabajar dentro de redes internas.


IAX2 soporta Trunking (red), donde un simple enlace permite enviar datos y señalización por múltiples canales. Cuando se realiza Trunking, los datos de múltiples llamadas son manejados en un único conjunto de paquetes, lo que significa que un datagrama IP puede entregar información para más llamadas sin crear latencia adicional.

Se utilizaIAX2 como alternativa de Sip y H.323, para manejar conexiones VoIP entre servidores Asterisk, y entre servidores y clientes que también utilizan protocolo IAX.


Media Gateway

Son cualquier tipo de dispositivo que permite la conversión de los datos de un formato a otro. Este tipo de aplicación es muy útil al mover datos de una plataforma o red social a un sitio que hace uso de criterios diferentes para la forma y estructura de los datos. La pasarela de medios es un dispositivo común en el uso en sistemas para el hogar y la oficina que se establecen para enviar y recibir datos a través de Internet, así como en la mayoría de redes privadas que son empleados por las empresas con múltiples ubicaciones.







Procedimiento


    En primer lugar Procedimos a instalar Trixbox en un computador destinado a ser el servidor de la red con el servicio de telefonía IP, así como otros servicios vitales para el desenvolvimiento de los usuarios en la red, como ssh, http, mysql, etc.


    Una vez instalado el sistema, procedimos a loggearnos a su modo gráfico vía un browser, en el que se digitaba la dirección IP estática asignada al servidor.





    Luego en la casilla PBX seleccionamos la opción PBX Settings, la cual contiene un sin número de características importantisimas para darle mayor robustés al servicio de telefonía IP

Creamos las extensiones que necesitabamos. Entre ellas se encontraban extensiones que verían acción desde laptops usando softphones y teléfonos IP







En nuestro laboratorio habilitamos otro servidor y creamos una cantidad necesaria de extensiones tal como se hizo en el paso anterior para el primer servidor.

Probamos que podíamos efectuar llamadas locales dentro del mismo servidor (En el servidor 1 y en el servidor 2) de extensión a extensión.


Para ampliar el alcance del servicio, procedimos a crear un troncal del tipo IAX2 para poder comunicar una extensión del servidor 1 con otra del servidor 2 o viceversa. Para ello fue necesario establecer ciertos parámetros como son: una ruta de salida y entrada entre servidor1 y servidor 2 donde la dirección IP de cada uno al junto de otras configuraciones determinaba hacia donde se dirigiría el tráfico. También se estableció un patrón de marcado, en nuestro caso, para dirigirse a una extensión que estaba en otro servidor se marcaba 5|XXX, donde las X determinan la cantidad de dígitos especificados para cada extensión.






En el servidor creamos otra línea troncal pero esta vez de tipo SIP, con fines de tener acceso a la red telefónica pública mediante un equipo del tipo media gateway.



Para poder recibir y sacar llamadas a la red telefónica pública hicimos uso de un Media Gateway Linksys SPA3000. Lo configuramos teniendo como línea de acceso y de salida el número de teléfono de la localidad donde nos encontrabamos. También se hicieron otros cambios importantes para la puesta en funcionamiento básica del equipo y el servicio, estos estaban relacionados con valores de control del eco en la comunicación, el tamaño de los paquetes y el nombre de la línea troncal por donde este se comunicaría con el servidor.





En la opción System Recordings procedimos a crear una grabación de contestadora autómatica, en la que una vez se llamara a la línea desde la red telefónica pública, esta presentaría un menú de opciones hacia donde dirigir la llamada. Esta grabación podía hacerse desde una de las extensiones o cargando un archivo de audio existente en la máquina desde donde se estuviese haciendo esta operación.

Luego pasamos a crear la IVR(Interactive Voice Response) en la pestaña IVR del menu de PBX settings. Una vez creada la IVR se debía asignar el archivo de audio cargado en el paso anterior a la IVR creada. En esta parte tuvimos un inconveniente y fue el de no escuchar el mensaje de la IVR aunque el servicio estaba activo. Esto se debió a que es necesario que el mensaje que se vaya a cargar este como archivo de audio correspondiente al tipo mono o monofónico, de lo contrario presentará inconvenientes a la hora de escuchar el mensaje.





Finalmente probamos que todo había estado correcto llamando a nuestra línea residencial y escuchando nuestra grabación para la IVR, la cual con un dígito de los que estaban disponibles en el menú nos direccionaba a una de nuestras extensiones.


Conclusión


Al finalizar nuestra práctica final, podemos afirmar con mucha certeza que nuestros objetivos fueron satisfactorios, fue un trabajo duro, lo cual se implico casi un semestre completo de pura investigación y trabajo en equipo.


Para nosotros que somos los ingenieros del mañana, este tipo de practica es de vital importancia, debido a que son situaciones que podemos encontrarnos en el ámbito laboral, es una practica de carácter empresarial, la cual, cualquiera de los integrantes que trabajamos en la misma pudiéramos vernos en la necesidad de montar este tipo de servicio a algún cliente o empresa especifica y obtener buenas ganancias económicas.


A la vez que profundizamos los conocimientos en los servicios de Voz sobre IP auxiliados de manuales y de mucho emprendimiento a la hora de hacer las pruebas durante los laboratorios.


Igualmente pudimos ver de una manera palpable y física las cosas aprendidas en la teoría, como son, términos como troncales, PBX, sistemas operativos como Trixbox, el cual fue el protagonista desde donde se corría la aplicación y al final vimos como exitosamente pudimos aprovechar cada servicio y ponerlo a nuestra disposición como era el IVR, Voicemal y el salón de conferencias.


Si bien es cierto que se presentaron varios inconvenientes desde que empezamos la práctica, podemos afirmar que fueron para bien, debido a que cada cosa fue llevando a la otra, fuimos aprendiendo de cada error y a medida que fuimos leyendo y analizando el objetivo planteado, pudimos dar con el problema y solucionarlo.


1 comentario: