FACULTAD DE EDUCACIÓN TÉCNICA PARA EL DESARROLLO
MAESTRÍA EN TELECOMUNICACIONES
MULTIMEDIA
TEMA:
IMPLEMENTACIÓN Y CARACTERIZACIÓN DEL TRÁFICO DE UN SISTEMA
DE VOIP, HACIENDO USO DE APLICACIONES OPEN SOURCE DE AUDIO
CONFERENCIA, MENSAJERÍA INSTANTÁNEA Y TELEFONÍA IP.
AUTORES:
Ing. David Hernán Paucar Naranjo
Ing. David Israel Sarango Sánchez
Ing. Edwin Fernando Quichimbo Angamarca
Ing. Jhon Jairo Cargua Quishpi
TUTOR:
MSc Juan García Pérez
Guayaquil, Ecuador
Febrero de 2019
ÍNDICE
1. Introducción 3
2. Objetivos 4
a. Objetivo general 4
b. Objetivos específicos 4
3. Fundamentos técnicos y teóricos (Marco referencial) 5
3.1. Elastix 5
3.2. 3CX 5
3.3. X-Lite 6
3.4. Arquitectura de protocolos VoIP 6
3.4.2. Protocolos de señalización 7
SIP 7
IAX 2 7
3.4.3. Vías de transmisión CODECS 8
G.711 8
G.722 8
H.263 8
RTP 9
4. Desarrollo de la práctica 10
4.1. Instalación: 10
4.2. Administración: 11
4.3. Latencia: 13
5. Resultados obtenidos: 14
5.1. Video llamada: protocolo SIP + RTP 14
6. Conclusiones 17
7. Bibliografía 18
8. Anexo 19
Resumen
El presente trabajo pretende mostrar los aspectos generales de los protocolos
usados en las tecnologías de transmisión de paquetes IP en tiempo real, bien
sean estos usados en aplicaciones de VoIP, video conferencia y mensajería
instantánea, para esto se realizará la implementación de un servidor para
comunicaciones unificadas basado en Asterisk, y para el análisis de protocolos
se hará uso de herramientas de software como Wireshark.
1. Introducción
El desarrollo tecnológico ha permitido la evolución para pasar de un conjunto
de servicios sobre múltiples redes hacia una única red que los soporta, dichos
servicios han evolucionado como respuesta al aumento en la demanda de
nuevas necesidades tecnológicas aplicadas a la vida diaria.
Uno de los servicios que ha tenido un rápido crecimiento y gran aceptación
constituye los sistemas de telefonía IP, los mismos que son instalados y
utilizados un gran número de instituciones y empresas. La razón por la cual las
empresas optan por este tipo de tecnología es debido a su fácil integración con
los medios, dispositivos e infraestructura de comunicaciones, lo que permite
incrementar la productividad además de significar un aporte en el ahorro para
la misma.
La convergencia de servicios implica múltiples ventajas tales como un menor
coste de capital, procedimientos simplificados de soporte y configuración, y una
mayor integración de las ubicaciones remotas y oficinas sucursales en las
instalaciones de la red corporativa. Los servicios de Telefonía IP permiten a las
empresas mejorar sus inversiones actuales en tecnología y puedan migrar a
una red completamente convergente en relación a su ritmo de crecimiento.
El presente trabajo pretende implementar una red sobre la cual se montará un
sistema de VoIP, esto con el objetivo de estudiar y caracterizar los protocolos
usados en un sistema de comunicaciones unificadas, tanto para señalización
como aquellos protocolos de tiempo real, además de los principales codecs de
usados en este tipo de tecnología.
2. Objetivos
a. Objetivo general
Caracterizar el tráfico de un sistema VoIP basado en
aplicaciones Open Source.
b. Objetivos específicos
Describir los principales protocolos utilizados en sistemas
de VoIP
Identificar los medios de transmisión del sistema VoIP
Mencionar la arquitectura de red necesaria para para la
implementación de un sistema de telefonía IP.
Implementar un sistema de VoIP utilzando Elastix y
aplicaciones Open Source.
3. Fundamentos técnicos y teóricos (Marco referencial)
3.1. Elastix
Elastix es un software de estándares abiertos impulsado por 3CX para el
establecimiento de comunicaciones unificadas. El proyecto Elastix se inició
como una interfaz de reportación para llamadas de Asterisk®* y fue liberado en
marzo del 2006. Posteriormente el proyecto evolucionó hasta convertirse en
una distro basada en Asterisk®. En 2016 Elastix elige a 3CX como su motor de
telefonía y propone las siguientes funcionalidades:
Correo de Voz
Fax-a-Email
Soporte para softphones
Interface de configuración Web
Sala de conferencias virtuales
Grabación de llamadas
Enrutamiento por menor costo
Roaming de Extensiones
Interconexión entre PBXs
Identificador de Llamada
Integración con CRM
Reportes avanzados[CITATION ela \l 12298 ]
3.2. 3CX
Es un sistema telefónico que permite dar una solución completa de
comunicaciones [Link] un PBX basado en software de plataforma
abierta, la administración de su sistema telefónico presenta las siguientes
características:
Fácil auto-instalación y administración
Recorte costos de telefonía y comunicaciones
Incremente la Productividad con UC: Presencia, Chat.
Trabaje en movimiento: apps Android y iOS, softphone basado en web
Videoconferencia WebRTC integrada
Mejora la Atención al Cliente: Click2Call e integración CRM[CITATION
www \l 12298 ]
3.3. X-Lite
Es un software que simula un teléfono convencional por medio de una
computadora, normalmente dentro de un entorno VoIP. El softphone permite
hacer llamadas a otros softphones o a otros teléfonos convencionales. El X –
lite está basado en e l protocolo SIP. [ CITATION ser \l 12298 ]
3.4. Arquitectura de protocolos VoIP
Figura 1. Arquitectura de protocolos VoIP
Autor.
3.4.1. Protocolo de Transporte
Por el protocolo Internet (IP) se desplazan básicamente dos tipos de tráfico: el
Protocolo de datagrama de usuario (UDP) y el protocolo de la y transmisión
(TCP). En general, se utiliza TCP cuando se necesita una conexión fiable y
UDP cuando se necesita simplicidad y la fiabilidad no es la principal
preocupación.
Debido a la naturaleza sensible al tiempo del tráfico voz, UDP/IP fue la elección
lógica para transportar la voz. Sin embargo, se necesita más información en
una base de paquete a paquete de la que ofrecía UDP. Por tanto, para el
tráfico en tiempo real o sensible al retraso, el Internet Engineering Task force
(IETF) adoptó el RTP. VoIP es transportado por una cabecera de paquete
RTP / UDP / IP. [ CITATION Emm17 \l 12298 ]
3.4.2. Protocolos de señalización
SIP
El Protocolo de Inicio de Sesión (SIP), básicamente es el encargado de
establecer la comunicación entre dos dispositivos. Más técnicamente hablando,
es un protocolo de señalización abierto utilizado para establecer, modificar y
finalizar sesiones de comunicación a través de una red IP junto con dos
protocolos RTP/RTCP y el protocolo SDP (Session Description Protocol). Estas
sesiones pueden ser tan simples como la comunicación de voz entre dos
puntos, o más complejas como en el caso de una conferencia web multipartita
con voz, video y uso compartido de documentos.
SIP tiene un parecido significativo con el protocolo HTTP, lo que facilita su
comprensión y solución de problemas. SIP también es independiente del medio
utilizado. Puede funcionar tanto para voz, video o mensajería instantánea. Los
mensajes están basados en texto y el mecanismo de petición-respuesta hace
muy fácil la resolución de errores.[CITATION www \l 12298 ]
IAX 2
El protocolo IAX2 fue creado por Mark Spencer para la señalización de VoIP en
Asterisk. El protocolo crea sesiones internas y dichas sesiones pueden utilizar
cualquier códec que pueda transmitir voz o vídeo. El IAX esencialmente provee
control y transmisión de flujos de datos multimedia sobre redes IP. IAX es
extremadamente flexible y puede ser utilizado con cualquier tipo de dato
incluido vídeo.
El principal objetivo de IAX es minimizar el ancho de banda utilizado en la
transmisión de voz y vídeo a través de la red IP, con particular atención al
control y a las llamadas de voz y proveyendo un soporte nativo para ser
transparente a NAT. La estructura básica de IAX se fundamenta en la
multiplexación de la señalización y del flujo de datos sobre un simple puerto
UDP entre dos sistemas. IAX es un protocolo binario y está diseñado y
organizado de manera que reduce la carga en flujos de datos de voz. El ancho
de banda para algunas aplicaciones se sacrifica en favor del ancho de banda
para VoIP.[ CITATION ela \l 12298 ]
3.4.3. Vías de transmisión CODECS
G.711
Es un estándar de la ITU-T para la codificación de audio. Este estándar es
usado principalmente en telefonía, y fue liberado para su uso en el año
1972.G.711 es un estándar de codificación digital para representar una señal
de audio en frecuencias de la voz humana, mediante palabras de 8 bits de
resolución, con una tasa de 8000 muestras por segundo. Por tanto, el
codificador G.711 proporciona un flujo de datos de 64 Kbit/s.[ CITATION
voi19 \l 12298 ]
G.722
Es un códec de audio de banda ancha de 7 kHz estándar de ITU-T que
funciona a 48, 56 y 64 kbit / s. Proporciona una calidad de voz mejorada debido
a un ancho de banda de voz más amplio de 50–7000 Hz en comparación con
los codificadores de voz de banda estrecha como G.711, que en general están
optimizados para una calidad de cableado POTS de 300–3400 Hz. G.722
muestra datos de audio a una velocidad de 16 kHz (utilizando 14 bits), el doble
que las interfaces de telefonía tradicionales, lo que resulta en una calidad y
claridad de audio superior.[ CITATION voi19 \l 12298 ]
H.263
Es un códec de video diseñado por el UIT-T como una solución de codificación
de baja tasa de bits para videoconferencias. Primero fue diseñado para ser
utilizado en sistemas basados en H.324 (PSTN y otras videoconferencias y
videotelefonía de red con conmutación de circuitos), pero desde entonces ha
encontrado uso en H.323 (videoconferencia basada en RTP / IP), H.320 (RDSI)
Las soluciones de videoconferencia basadas en videoconferencia), RTSP
(transmisión multimedia) y SIP (conferencia por Internet) también.[ CITATION
voi19 \l 12298 ]
RTP
Protocolo de transporte en tiempo real define un formato de paquete estándar
para el envío de audio y video sobre Internet. RTP se utiliza ampliamente en
los sistemas de comunicación y entretenimiento que involucran medios de
transmisión, tales como la telefonía, aplicaciones de videoconferencias,
servicios de televisión y web basado en funcionalidades push-to-talk.
Figura 2. Protocolo RTP-RTCP
Autor.
RTP se utiliza junto con el protocolo de control de RTP (RTCP). Mientras que
RTP transporta los flujos de medios (por ejemplo, audio y vídeo), RTCP se usa
para supervisar las estadísticas de transmisión y calidad de servicio (QoS) y
ayuda a la sincronización de múltiples flujos. RTP es originado y recibido en
número de puerto par y la comunicación asociadas a RTCP utilizan el próximo
número de puerto impar superior. RTP es uno de los fundamentos de VoIP y se
utiliza conjuntamente con SIP el cual ayuda a establecer las conexiones a
través de la red.[ CITATION www \l 12298 ]
4. Desarrollo de la práctica
4.1. Instalación:
Para tener el servicio de telefonía IP con Elastix, se debe descargar la Imagen
del ISO que se encuentra en la distribución de Debian, para esto se deberá
registrar en la Pagina de este servidor para obtener la licencia a prueba.
Figura 3. Obtención de la licencia en modo de prueba.[ CITATION ela \l 3082 ]
Luego de la descarga proceder a instalar en una máquina, el servicio se instala
de manera rápida y estándar, solo en casos especiales se realiza una
instalación personalizada, pero para este tema, se instalará lo estándar, ya que
la configuración se realiza en otro punto.
Al finalizar la Instalación saldrá un mensaje preguntando, si desea configurar
por línea de comandos o desde una página Web utilizando la IP del servidor.
Figura 4. Obtención de la licencia en modo de prueba. Fuente: Autor
4.2. Administración:
Se debe ingresar y configurar cada campo que requiere en el proceso de
configuración Web, siendo este usuario, contraseñas una extensión, la IP del
servidor y de la puesta de enlace. Al finalizar debe presentar una pagina con el
resumen de lo configurado.
Figura 5. Resumen de la configuración realizada para 3CX. Fuente: Autor
Luego de ingresar a la pagina del administrador, se desplegara una pagina
presentando estadísticas y en resumen lo que hasta ese momento se tiene
configurado.
Figura 6. Administrador del servidor. Fuente: Autor
“Estado del Sistema” - información importante sobre el estado y actividad de la
computadora del sistema en la cual está instalado 3CX, incluyendo uso de
CPU* y desempeño, uso de disco duro y memoria.
“Estado de la PBX” - Información de la actividad de 3CX PBX incluyendo
troncales y extensiones, llamadas en uso, IPs en lista negra, estado de
respaldos automáticos, prueba de firewall y servicios.
“Información” - Información de la instalación 3CX incluyendo FQDN y dirección
IP, FQDN de WebMeeting y MCU, Licencia e información de Mantenimiento,
número de llamadas simultáneas y participantes de conferencia.
“Registro de Eventos” y “Registro de Actividad” - los registros principales de
3CX para monitorear eventos críticos del sistema y potencial resolución de
errores del PBX 3CX.
“Actualizaciones” - actualizaciones del sistema 3CX
“Extensiones” - En la sección de Información del Usuario puede ingresar el
nombre, apellido, dirección de email, teléfono, además del identificador de
llamadas salientes del usuario. La dirección de email se utiliza para enviar
vínculos a los clientes, vínculos de manuales, clave del correo de voz, así como
un archivo de configuración para aprovisionar las apps automáticamente.
En la sección “Autenticación”, el ID y la contraseña de autenticación son auto
generados, pero pueden ser modificados. Si cambia las credenciales, el
teléfono se volverá a reaprovisionar con los nuevos datos de autenticación de
forma automática (siempre y cuando el teléfono sea auto aprovisionado por
3CX).
Figura 7. Administración de Extensiones. Fuente: Autor
Figura 8. Administración de WebMeeting para conferencias. Fuente: Autor
Además, en la sección “Click to Call / Click to Meet” puede especificar un
nombre amigable para una sala de reunión personal. Los contactos pueden
usar esta URL desde cualquier navegador WebRTC que soporte estándares
abiertos (Chrome, Firefox) para configurar una videoconferencia web ad hoc o
simplemente una llamada entrante. La llamada entrante puede luego ser
elevada a una videoconferencia web en cualquier momento.
A continuación, se muestra en detalle cómo están configuradas las extensiones
en una pequeña empresa, que serán las centrales.
Figura 9. Esquema de configuración de las extensiones. Fuente: Autor
4.3. Latencia:
Un punto clave en la comunicación es la Latencia, se recomienda que para
tener una buena y legible comunicaciones se debe tener una latencia menos a
los 4s.
5. Resultados obtenidos:
5.1. Video llamada: protocolo SIP + RTP
Figura 10. Captura de tráfico en una Video llamada. Fuente: Autor
Se acepta la video-llamada de la extensión 9110, utilizando el software X-Lite.
La calidad de video se comprime y es de baja calidad de acuerdo al dispositivo
en donde se recibe la conexión. El protocolo H263 tiene la característica de una
codificación menor a 64 bits para video conferencia.
Figura 11. Captura de tráfico en una Video llamada. Fuente: Autor
Figura 12. Proceso de solicitudes para establecer la comunicación. Fuente: Autor
En esta simulación, la medición la hacemos mediante Wireshark para ver las
solicitudes y mensajes recibidos entre dos máquinas portátiles utilizando X-Lite:
INVITE SDP: Es utilizado para iniciar un diálogo de sesión – típicamente para
establecer una llamada telefónica.
407 PROXY AUTHENTICACION REQUIRED: Indicando un estado final de
error que es posible que algún otro SIP Proxy pueda estar en posición de
atender exitosamente el requerimiento.
ACK: Es utilizado para responder a un mensaje de estado de SIP, mientras se
encuentra dentro de un diálogo SIP INVITE.
INVITE SDP: Vuelve a enviar el dialogo de sesión para establecer la llamada
100 TRYING: Indica un estado temporal en este caso “Intentando”.
180 RINGING: Indica un estado temporal en este caso “Sonando”.
RTP: Se envía los paquetes de audio con su respectivo códec.
200 OK SDP: Utilizado para indicar un estado final exitoso que puede ser
utilizado para indicar que una llamada se ha establecido exitosamente, o que
ha sido finalizada exitosamente.
BYE: Es utilizado para finalizar una sesión previamente establecida, como una
llamada iniciada con un mensaje SIP INVITE.
Figura 13. Captura de tráfico de una llamada. Fuente: Autor
Figura 14. Captura de tráfico de una video conferencia. Fuente: Autor
En los payloads de la simulación, se puede verificar la ruta h263-1998 para
acceder a la video-conferencia. Mientras tanto en la ruta H263-1998. RTPType-
126 se estable en tiempo real la video-conferencia para proceder al monitoreo
de la transmisión y calidad de servicio.
6. Conclusiones
1. Llegándose a la conclusión de que con una línea dedicada de 2 MB es
suficiente tener una comunicación, utilizando el protocolo SIP e IAX con los
códec g.711 y g.729 para las comunicaciones. Se observó además que la
compresión IAX trunked es mejor si utiliza el códec g.729, mientras que si
utilizamos el códec g.711 para las comunicaciones lo mejor será utilizar
compresión cRTP
2. Con las pruebas se pudo observar que el servidor puede cursar más de 15
(Pueden llegar a las 400, aunque idealmente deberá de cubrir las
9999)llamadas simultáneas sin tener problemas de rendimiento, con lo cual
puede atender a todos los internos sin presentar problemas de degradación en
la calidad de las llamadas (Esto depende del procesador, y memoria del
servidor).
3. En todo momento, se ha demostrado que el uso de G.729 permite mayor
capacidad que el uso de G.711, a menos que una calidad de voz
correspondiente a un MOS superior a 3,65 es requerido, en cuyo caso no se
puede utilizar G.729.
4. Los paquetes VoIP pueden experimentar un retraso general de más de 30
ms.
Dentro de los equipos y componentes WLAN.
Finalmente, el códec elegido de los teléfonos SIP que se utilizará para codificar
y descodificar medios transmitidos, ya que es el primer códec compatible entre
los 2 teléfonos SIP. Tenga en cuenta que diferentes códecs utilizan una
cantidad diferente de ancho de banda y tienen otras propiedades diferentes
entre sí, por lo tanto, dependiendo de las necesidades del usuario y del ancho
de banda disponible, se puede establecer la prioridad del códec.
7. Bibliografía
[Link]. (s.f.). Obtenido de [Link]: [Link]
telefonica/3CXDatasheet_es.pdf
[Link]. (s.f.). Obtenido de [Link]:
[Link]
Emmanuel, P. (2017). Tecnología de comunicación voz sobre IP . Tecnología
de comunicación voz sobre IP . Mexico: Universidad Autónoma del
Estado de Hidalgo.
[Link]. (s.f.). Obtenido de [Link]:
[Link]
[Link]. (2019). Obtenido de [Link]: [Link]
g711/
8. Anexo