3. PBX con capacidades IP: esta solución no es tan robusta como una telefonía total IP, pero se contara con una mezcla de funcionalidades No es preciso
3.9 Protocolos VoIP.
Los protocolos usados para llevar las señales de voz sobre la red IP son comúnmente llamados protocolos de voz sobre IP. El objetivo de VoIP es dividir en paquetes los flujos de audio para transportarlos sobre redes basadas en IP. Los protocolos de las redes IP no fueron diseñados originalmente para el transporte en tiempo real de audio o cualquier otro tipo de flujo de audio/video, por lo que se han creado diversos protocolos para VoIP, cuyo mecanismo de conexión incluye una serie de transacciones de señalización entre terminales, que establecen flujos de audio para cada dirección de la conversación.
3.9.1 H.323.
En el mundo de VoIP, existen varios protocolos importantes. H.323 es una recomendación general de la Inernational Telecommunications Union (ITU), que establece los estándares para las comunicaciones multimedia sobre LAN que no cuentan con un mecanismo QoS.
La norma H.323 en una tecnología importante para las aplicaciones basadas en LAN para comunicaciones multimedia.
77
La norma cubre varias tecnologías, incluidos equipos independientes y tecnología de computadoras personales incrustadas, así como conferencia punto a punto y multipunto. H.323 aborda funciones de administración y control como control de llamadas, administración multimedia y administración de ancho de banda.
a) Importancia de H.323.
Existen varias razones por las que H.323 es un protocolo popular para VoIP:
Establece los estándares multimedia para las redes más importantes basadas en IP. Está diseñado para compensar las altamente variables latencias de LAN que existen en las redes basadas en IP.
Las LAN de IP son cada vez más poderosas. A partir de velocidades de 10 Mbps, luego 100 Mbps y hoy en día de 1 Gbps, cada vez son más las redes capaces de proporcionar el ancho de banda que requieren las aplicaciones H.323.
Si es necesario comunicarse entre dos tipos diferentes de redes, la norma H.323 permite la funcionalidad de redes de internet.
Con H.323, los administradores de red pueden limitar la cantidad de ancho de banda de red que esta soporte para las conferencias.
b) Beneficios de H.323.
Estándares de códec: H.323 define los estándares para compresión y descompresión de los flujos de datos de audio y video.
78
Esto garantiza que los datos serán legibles si se transmiten entre los productos de diferentes fabricantes.
Independencia de red: H.323 está diseñado para operar en casi todas las arquitecturas más comunes de red, las soluciones basadas en H.323 podrán aprovechar estas capacidades mejoradas.
Independencia de plataforma y aplicaciones: al igual que todos los estándares H.323 no es dominio exclusivo de ningún proveedor de hardware o de sistema operativo.
Soporte multipunto: H.323 ya soporta multiconferencias, que pueden soportar conferencias con tres o más extremos sin requerir equipos especiales.
Administrador de ancho de banda: debido a que el tráfico generado por las aplicaciones de audio y video consume grandes cantidades de ancho de banda, existe la posibilidad de saturar aun las redes más robustas.
Soporta de transmisiones múltiples: para las situaciones en que varias personas recibirán la misma transmisión, H.323 soporta el transporte de transmisiones múltiples.
Por ejemplo, en caso de un director general que transmite un discurso a varias oficinas filiales, la transmisión múltiple H.323 envía un solo paquete a todas las filiales.
79
Flexibilidad: no todas las computadoras de los usuarios son creadas de igual manera. Sin embargo, al emplear un equipo compatible con H.323, es posible conducir conferencias a través de una red que incluya varios extremos.
Conferencias en interconexión: H.323 nos limita a las computadoras personales. Podrá emplearse en distintos tipos de arquitectura de red, y emplea tecnología común de códec de diferentes estándares de videoconferencia para reducir al mínimo las demoras de transcodificacion y, con ello, dar mejoras resultados.
c)Terminales.
Las terminales son los aparatos en el extremo final que emplean los clientes. La especificación requiere que todas las terminales soporten comunicación de voz, pero las de video y datos son opcionales. H.323 especifica la forma en que diferentes terminales de audio, video y datos trabajan juntos.
Todas las terminales H.323 deben soportar H.245, que es un mecanismo que se emplea para negociar el uso y las capacidades de uso de canal, las terminales deben soportar otros tres componentes:
El protocolo Q.931 para la señalización y establecimiento de llamadas.
Resgistration/Admission/Status (RAS, registro/admisión /estado), un protocolo que se emplea para comunicarse con un portero.
80
d)Porteros.
Los porteros son un componente crucial. Un portero es el punto central para todas las llamadas dentro de su zona y proporciona servicios de control de llamadas a los extremos registrados.
Los porteros realizan las siguientes funciones:
Reducción de los alias LAN para las terminales y gateways a direcciones IP o IPX
Administración de ancho de banda. Por ejemplo, si el administrador de red ha establecido un límite en el número de conexiones concurrentes H.323 o un umbral en el uso de ancho de banda, es el portero quien puede negarse a recibir más conexiones una vez que se traspasa el umbral.
Control de acceso a la LAN para terminales y gateways H.323
Los porteros sirven a la función opcional de enrutar las llamadas H.323. Enrutar las llamadas a través de un portero permite manejarlas con mayor eficacia y eficiencia., no es indispensable un portero para un sistema H.323 funcional. Sin embargo, si un portero está presente en la red, las terminales deben emplear sus servicios de traducción de la dirección, control de las admisiones y de ancho de banda y administración de zona.
81
3.9.2 SIP (Session Initiation Protocol, Protocolo de Inicio de Sesión).
Es un protocolo desarrollado por el IETF (Internet Engineering Task Force) como el estándar RFC 3261, para la iniciación, moderación y finalización de sesiones multimedia entre dos pares (unicast) o multipares (multicast). SIP ofrece flexibilidad para controlar sesiones multimedia, como llamadas de voz y video, videoconferencia, mensajería instantánea, juegos en línea y telefonía IP. Es un protocolo de la capa de aplicaciones de la familia TCP/IP; está relacionado estrechamente con el protocolo SDP (Session Description Protocol).
SIP no es un protocolo de propósito general; su objetivo es ayudar a establecer y finalizar la comunicación. Se apoya en otros protocolos para lograr una llamada telefónica, o una sesión de video-conferencia o de mensajería instantánea, etc. Los protocolos que comúnmente colaboran con SIP son: RTSP (Real-Time Streaming Protocol) para el control de flujos y sesión, SDP para describir los flujos, RTP/RTCP para el transporte de datos en tiempo real, y RSVP (Resource Reservation Protocol) junto a DiffServ (Differentiated Services) para gestionar la calidad de servicio y la reserva de recursos.
En las redes TCP/IP, las conversaciones que utilizan señalización del tipo SIP hacen uso de RTP para llevar las conversaciones (flujos de audio/video) de un terminal a otro. De la misma forma que en una conversación existen dos flujos de voz, en una conversación en una red TCP/IP se tiene dos flujos de paquetes RTP.
El principal problema que afecta el funcionamiento de RTP son los NAT (Network Address Translator).
82
El efecto de un NAT en VoIP es que no se pueden recibir conexiones iniciadas desde el exterior; en consecuencia, el que inicia la llamada detrás de un NAT no puede escuchar a la otra parte. Si los dos comunicantes se encuentran detrás de sus respectivos NAT, ningún flujo de audio originado llegará a su destino final. Para este problema ya existen soluciones implementadas en Asterisk
En la tabla 3.3 se muestran las funciones de SIP.
Tabla 3.3 Funcionalidad de SIP.
Función Descripción
Resolver la ubicación de los extremos de destino
SIP soporta resolución de redirección, mapeo de nombres y redireccionamiento de llamadas.
83
Tabla 3.3 Continuación Funcionalidad de SIP.
Función Descripción
Establecer las capacidades de medios de comunicación del
extremo de destino
Esto se logra utilizando el Session Description Protocol (SDP, protocolo de descripción de sesión). SIP determina el nivel más bajo de servicios comunes entre los extremos y las comunicaciones solo se realizan utilizando las capacidades de medios de comunicación soportadas en ambos extremos.
Determinar la disponibilidad del extremo de destino
Si no es posible completar una llamada por que el objetivo no está disponible, SIP determina si el objetivo ya está en el teléfono o si no respondió en el número asignado de llamadas, por último, regresa un mensaje explicando por qué la llamada no tuvo éxito.
Establecer una sesión entre el extremo de origen y el destino.
Si es posible completar la llamada, SIP establece una sesión entre los extremos. SIP también soporta cambios a mitad de llamada, como la adición de otro extremo a la conferencia o el cambio de una característica de medio de comunicación o códec.
Manejar la transferencia y terminación de llamadas.
SIP soporta la transferencia de llamadas de un extremo a otro. Durante una transferencia de llamada, SIP simplemente establece una sesión a un nuevo extremo y finaliza la sesión entre la parte transferida y la que transfiere.
84
SIP es un protocolo de terminal a terminal, lo que quiere decir que no es necesario un servidor dedicado para administrar las sesiones. En una sesión las terminales se conocen como User Agents (UA, agentes de usuario). Un UA tiene una de dos funciones en una conversación:
User Agents Client (UAC, cliente agente de usuario): aplicaciones de cliente que inician la solicitud de conversación del SIP.
User Agents Server (UAS, servidor agente de usuario): aplicaciones de servidor que ponen en contacto al usuario cuando recibe una solicitud SIP y luego devuelve una respuesta en nombre del usuario.
Un extremo SIP puede funcionar como UAC y como UAS, pero en cualquier conversación solo funciona como uno u otro. Un extremo funcionara como UAC o UAS, dependiendo de la UA que inicio solicitud.
Los componentes físicos de la red SIP pueden ser divididos en dos categorías: clientes y servidores.
Los clientes SIP incluyen:
Teléfonos: estos dispositivos pueden actuar como UAC o como UAS.
Gateways: estos dispositivos controlan las funciones de llamadas, que proporcionan varios servicios, incluida la traducción de funciones entre extremos de conferencia SIP.
85 Los servidores SIP incluyen:
Servidor Proxy: este servidor proporciona funcionalidades como autentificación, autorización, control de acceso a la red, enrutamiento.
Los servidores proxy reciben mensajes SIP y los envían al siguiente servidor SIP en la red.
Servidor de rendimiento: este servidor indica al cliente acerca del siguiente paso que debe de dar un mensaje. Después, el cliente se pone en contacto con el servidor del siguiente paso o con el UAS de manera directa.
Servidor de registro: este servidor procesa las solicitudes de los UAC para registrar su ubicación actual. Con frecuencia, los servidores de registro se colocan con un servidor proxy o de redireccionamiento.
a) Intercambio de mensajes.
El dialogo entre los clientes y los servidores SIP se basa en el intercambio de mensajes de texto.
La estructura genérica de un mensaje SIP, ya sea de petición o respuestas, es muy sencilla: línea de comienzo, una o más cabeceras, una línea vacía que indica el final de las cabeceras y el cuerpo del mensaje.
Los mensajes de petición son enviados por las entidades cliente a las entidades servidores. Generalmente, toda petición tiene asociada una respuesta del servidor como se muestra en la siguiente tabla, excepto el ACK que no requiere respuesta.
86
Todas las respuestas SIP tienen asociado un código numérico que indica el resultado interno del servir la petición del cliente.
Tabla 3.4 Peticiones y respuestas SIP.
Peticiones SIP Respuestas SIP
INVITE: mensaje inicial de invitación enviado por el extremo llamante.
1XX: mensajes de información.
ACK: respuesta agente llamante ante el mensaje de
aceptación de la llamada por parte del destino. 2XX: éxito.
BYE: señal de terminación de la sesión por parte de
uno de sus participantes. 3XX: mensajes de desvió
CANCEL: cancela una petición pendiente. 4XX: error de petición.
REGISTER: empleado por los usuarios para registrar su dirección de contacto actual.
5XX: error en el servidor.
OPTIONS: consulta a un agente de usuario acerca de sus capacidades (ej. codec).
6XX: error general.
INFO: contiene información fuera de banda, como
87
3.9.3 SDP (Session Description Protocol, Protocolo descripción de sesión).
SDP es un formato para describir parámetros de inicialización de flujo audiovisual. Está diseñado para transportar información de la sesión hacia los destinatarios, así como información de los flujos audiovisuales referentes a la misma.
Permite además asociar más de un flujo audiovisual a una misma sesión; por ejemplo, en una misma sesión puede existir un flujo para audio y uno más para video o transferencia de documentos.
SDP es usado exclusivamente para la descripción y negociación de los parámetros de sesión; no transporta el flujo audiovisual en sí. Fue pensado para trabajar en conjunto con otros protocolos como SIP, HTTP. El transporte de información acerca de los flujos audiovisuales permite a los destinatarios participar en la sesión si ellos soportan dichos flujos. Además, SDP permite la negociación de los parámetros de flujo tales como la tasa de muestreo de la señal, el tamaño de los paquetes, etc. La información que SDP incluye en sus paquetes de forma general es la siguiente:
La versión del protocolo.
El nombre de la sesión y su propósito. El tiempo que la sesión está activa.
88
Las direcciones IP y los puertos pertinentes para el establecimiento de la sesión.
Los atributos específicos de la sesión o de los medios dentro de ella.
3.9.4 RTP/RTCP (Real-time Transport Protocol, Protocolo de Transporte de Tiempo real/ Protocolo de control Transporte de Tiempo real).
Son los protocolos usados para transportar flujos de audio/video en Telefonía IP. RTP es utilizado para transportar flujos en tiempo real (real-time streaming) y RTCP para monitorear la calidad del servicio, así como para transportar información acerca de los participantes en la sesión. Sus funciones generales son:
Identificación del tipo de carga útil transportada (códecs de audio/video). Verificación de la entrega de los paquetes en orden (usando marcas de tiempo)
y, si resulta necesario, reordenamiento de los bloques fuera de orden.
Transporte de información de sincronización para la codificación y decodificación.
Monitoreo de la entrega de la información.
RTP utiliza UDP para el transporte de la información y aprovecha la suma de verificación (checksum) del mismo para verificar la integridad de los datos. RTCP también utiliza UDP para enviar paquetes de control hacia todos los participantes de una sesión.
89
3.9.5 IAX (Inter-Asterisk Exchange).
El protocolo IAX (ahora referido generalmente como IAX2 por su segunda versión) es uno de los protocolos utilizados por la centralita Asterisk para manejar conexiones VoIP entre sus servidores, y clientes VoIP que lo utilizan. IAX es robusto y muy simple en comparación con otros protocolos. Permite manejar una gran cantidad de códecs y un gran número de flujos de audio/video, lo que significa que puede ser utilizado para transportar virtualmente cualquier tipo de datos. Esta capacidad lo hace muy útil para realizar videoconferencias o presentaciones remotas. IAX utiliza un único puerto UDP, generalmente el 4569, para comunicaciones de señalización y datos entre puntos terminales. El tráfico de voz es transmitido en banda (in-band), lo que hace a IAX2 un protocolo casi transparente a los cortafuegos y realmente eficaz para trabajar dentro de redes internas. En esto se diferencia de SIP, que utiliza una conexión RTP fuera de banda (out-of-band) para entregar la información. IAX soporta entroncamiento (trunking), mediante el cual un sólo enlace permite enviar datos y señalización por múltiples canales.
El principal objetivo de IAX ha sido 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 los NAT. La estructura básica de IAX se fundamenta el multiplexaje de la señalización y el flujo de datos sobre un mismo puerto UDP entre dos sistemas.
90