• Introducción a VOIP
    Introduction to VOIP header image

Introducción a VOIP

Las siglas VOIP corresponden a "Voice over IP" (voz por IP).

La mayoría de nosotros estamos familiarizados con el "sistema telefónico conmutado público” (PSTN), que nos permite establecer contacto con personas de todo el mundo al marcar una secuencia de números. VOIP ofrece una alternativa, que funciona mediante la redirección de señales de voz digitalizadas a través de redes IP, como intranet de empresa o, en algunos casos, la Internet pública.
 
A juzgar por las apariencias, el sistema PSTN no ha cambiado mucho en más de 100 años. Se han producido muchos cambios tecnológicos y mejoras, como el marcado por tonos y los ID de llamada, pero, en lo que concierne al usuario, sigue siendo cuestión de marcar (más recientemente, de pulsar) una secuencia de números para conectar con la persona cuyo número se ha marcado. Sin embargo, lo que ocurre entre bastidores para hacer posible este proceso ha cambiado considerablemente en los últimos años.
 
VOIP no es una tecnología particularmente nueva. Existen documentos y patentes que datan de décadas atrás y hay software VoIP disponible desde 1991. El principio fundamental es bastante sencillo. Es, esencialmente, la misma tecnología que se utiliza para transmisión de música por streaming en Internet. Un micrófono recoge el sonido de voz y la tarjeta de sonido lo digitaliza. El audio digitalizado se comprime con un códec de audio. Esto se hace eliminando los datos innecesarios, a la vez que se mantiene la legibilidad del audio, a fin de que el flujo, o stream, sea lo suficientemente compacto para enviarse por la red en tiempo real. El término códec es una abreviatura de "CODificador/DECodificador". Los sonidos se codifican en el lado del emisor, se envían a través de la red y, a continuación, se decodifican en el lado del receptor, donde se reproducen por los altavoces o auriculares. 
 
 
 
Los únicos requisitos son una conexión de red con una velocidad adecuada entre los dos equipos y códec compatibles en ambos extremos.
 
Los equipos informáticos de venta al público corrientes y que están equipados con micrófono, tarjeta de sonido, auriculares y conexión de banda ancha sirven perfectamente para este fin.
 
 
Es necesario, por supuesto, que ambas partes acuerden el uso de un mismo códec antes de iniciar la llamada, de manera que el equipo receptor pueda descomprimir las emisiones de audio en streaming. Los códec están en constante evolución, como cualquiera que tenga un reproductor de música digital sabrá: mp3, wma, ogg, mp4 y aac son extensiones de archivo que posiblemente haya visto en los archivos de música comprimidos de las tiendas de música online, y son todos diferentes. Algunos reproductores podrán reproducirlos todos, otros solamente algunos y otros sólo podrán reproducir un determinado tipo. 
 
Afortunadamente, hay algunos denominadores comunes en el universo de la telefonía, lo que significa que los sistemas VOIP pueden, normalmente, negociar para encontrar un códec que ambos lados puedan interpretar. Algunos códec de telefonía utilizados habitualmente son G.711, G.729 y G.726, aunque existen muchos otros, incluso algunos exclusivos. Estos códec tiene dos diferencias principales. En primer lugar, el consumo de CPU necesario para ejecutar la compresión y descompresión, y que afecta al tipo de hardware que precisa el sistema (PC, PBX o teléfono) y, en segundo lugar, el tamaño del archivo o stream de audio comprimido y, por consiguiente, la cantidad de ancho de banda de red necesaria para transportar los datos entre los dos sistemas. Esto tiene un cierto impacto en la infraestructura de red. 
 
Para ser útil, un sistema VOIP necesita un método para establecer y gestionar una conexión; por ejemplo, llamar al otro equipo, averiguar si acepta la llamada y cerrar la conexión cuando un usuario cuelgue. Puesto que VOIP admite comunicación bidireccional, e incluso conferencias a varias bandas, esta parte es más compleja que en el simple streaming de audio. La gestión de llamadas (inicio de sesión, establecimiento de la llamada y terminación de la llamada) es un área en la que los sistemas VOIP difieren fundamentalmente, y dos usuarios de VOIP deben utilizar el mismo sistema (o compatible) para poder llamarse.
 
La mayoría de los usuarios de Internet no tienen una dirección permanente y los sistemas VOIP no funcionan generalmente llamando directamente a otro equipo (es como tener un número de teléfono que cambia de cuando en cuando). En lugar de eso, cada usuario se registra con un servidor intermedio, el cual mantiene un registro de las direcciones IP, siempre que dicho usuario está conectado. Se puede instalar una pequeña aplicación en el equipo de cada uno de los usuarios que gestione estos datos junto con el servidor.
 
Otro motivo para utilizar un servidor intermedio es que simplifica el problema de que VOIP funcione a través de servidores de seguridad (firewalls). La mayoría de los servidores de seguridad bloquean los datos procedentes de Internet que no se han enviado en respuesta a una solicitud específica. Esto imposibilita llamar a otro equipo directamente (como el número al que se ha llamado no solicitó ningún dato del emisor, la solicitud de llamada se bloquea). 
 
Al establecer una conexión con un servidor, el software VOIP abre un canal de comunicación a través del cual pueden llamar otros equipos. La comunicación puede continuar a través del servidor, o bien puede transmitirse información a través del servidor que permita abrir una conexión directa entre ambos equipos y continuar utilizando este canal de comunicación.
 
 
Estándares
Existen diversos estándares de comunicación de voz por IP. Éstos se dividen en "estándares abiertos", que están disponibles para uso generalizado y sistemas exclusivos. H.323 y SIP pertenecen a la primera categoría, mientras que Skype utiliza su propio sistema exclusivo.
 
H.323 es un estándar de teleconferencia desarrollado por International Telecommunications Union (ITU). Admite transmisión de audio, vídeo y datos plena entre grupos de dos o más participantes y es compatible con redes de gran tamaño. H.323 es independiente de la red: puede utilizarse en redes que usan protocolos de transporte distintos de TCP/IP. H.323 sigue siendo un protocolo muy importante, aunque ha caído en desuso en productos VOIP de consumo debido a la dificultad de hacerlo funcionar a través de servidores de seguridad diseñados para proteger equipos que ejecutan muchas aplicaciones diferentes. Es un sistema especialmente apto para organizaciones grandes que cuentan con los conocimientos técnicos necesarios para superar estas dificultades.
 
SIP (protocolo de inicio de sesión) es un protocolo de señalización estándar de Internet Engineering Task Force (IETF) para teleconferencia, telefonía, notificación de presencia y eventos, y mensajería instantánea. Ofrece mecanismos para establecer y gestionar conexiones, pero no para transportar información de audio o vídeo. Es, probablemente, el protocolo más utilizado para gestionar telefonía de Internet en la actualidad. Como todos los protocolos de IETF, SIP se define en una serie de RFC (solicitud de comentarios), principalmente en la RFC 3261.
 
Una implementación de VOIP basada en SIP puede enviar los datos de voz codificados por la red de distintos modos. La mayoría de las implementaciones utilizan el protocolo RTP (protocolo de transporte en tiempo real), que se define en la RFC 3550. Tanto SIP como RTP se implementan en UDP, el cual, como protocolo sin conexión, puede ocasionar problemas con determinados tipos de routers y servidores de seguridad. Los teléfonos SIP, por tanto, deben utilizar también STUN (transversal simple de UDP a través de NAT), protocolo definido en la RFC 3489 que permite a un cliente situado tras un router NAT (traducción de direcciones de red) descubrir cuál es su dirección de red externa y el tipo de dispositivo NAT. Gracias a STUN, la configuración de hardware o software VOIP basado en SIP tras un servidor de seguridad de uso doméstico o de una oficina pequeña debería ser una tarea simple, aunque en la práctica puede resultar complicado.