Las funciones del protocolo RTP, se resumen en:
INDICACIÓN DE LA SECUENCIA: Para detectar paquetes perdidos y reordenarlos.
SINCRONISMO ENTRE LOS MEDIOS: Los paquetes dentro de un mismo flujo, pueden sufrir demoras diferentes por lo que es necesario llevar información de tiempo que permita sincronizar estos.
IDENTIFICACIÓN DE LA CARGA: Durante una sesión las condiciones de la red pueden variar lo que obliga a cambiar el tipo de codificación pues los "codec" difieren en su habilidad de trabajar en dependencia de estas condiciones.
IDENTIFICACIÓN DE LA TRAMA: Es necesario entregar a los niveles superiores las tramas en una secuencia correcta por lo que se debe conocer el inicio y fin de las tramas, lo que se hace enviando un bit de marca de trama.
IDENTIFICACIÓN DE LA FUENTE: Durante una sesión de multidifusión hay que enviar un identificador único para cada uno de los usuarios que
participan en esta y así conocer la procedencia de cada uno de los paquetes.
Las funciones anteriores se soportan gracias a la cabecera de RTP. Por lo general RPT se ejecuta sobre UDP para hacer uso de sus funciones de multiplexación, control de errores y flexibilidad; ya que para los datos en tiempo real, la llegada a tiempo de los datos es más importante que la fiabilidad de los mismos. Por esta razón los paquetes de RTP y RTCP se transmiten normalmente sobre UDP.
Para preparar una sesión de RTP, la aplicación define dos direcciones de transporte formadas por una dirección de red y un par de puertos, uno para RTP y otro para RTCP. En una sesión multimedia, cada flujo de datos es transportado en una sesión RTP separada, con sus propios paquetes de RTCP que informan sobre QoS de la recepción para dicha sesión. Es decir, que el audio y video viajarían en sesiones separadas e independientes y habilitarían a un receptor a elegir si recibe o no un flujo particular.
RTP no garantiza reserva de recursos a fin de evitar la pérdida de paquetes y el jitter, ni da garantía de calidad de servicio, sino que, por el
contrario, necesita del apoyo de capas más bajas como el empleo de RSVP.
1.1.5.2.2. RTCP
El protocolo de control en tiempo real (RTCP) es la parte del RTP que proporciona servicios de control, además de otra serie de funcionalidades adicionales relacionadas, tales como las siguientes:
REALIMENTACIÓN SOBRE LA QOS: los receptores de una sesión emplean RTCP para informar al emisor sobre la calidad de su recepción. Esta información comprende el número de paquetes perdidos jitter y el RTT (Round trip Time).
SINCRONIZACIÓN INTERMEDIA: el audio y el video suelen transportarse en flujos diferentes que deben sincronizarse en el receptor. Esta capacidad de sincronización es proporcionada por el RTCP incluso en el caso de que los flujos procedan de fuentes distintas.
IDENTIFICACIÓN: los paquetes RTCP contienen información de identificación de cada participante en la sesión, tal como correo electrónico, número de teléfono o el nombre completo del participante.
CONTROL DE LA SESIÓN: RTCP permite a un participante indicar que deja la sesión (envío del paquete BYE) así como el intercambio de mensajes cortos entre participantes.
Periódicamente, todos los participantes en una sesión (tanto los que envían como los que únicamente se dedican a escuchar) transmiten un paquete con la información citada arriba. Estos paquetes se envían a la misma dirección (multicast o unicast) como un flujo RTP pero a un puerto diferente. Esta periodicidad en el envío tiene su justificación en que dichos paquetes proporcional información sensible temporal, como la calidad de la recepción, que queda obsoleta tras cierto tiempo. El periodo de envío de estos paquetes está determinado por un algoritmo que lo adapta al tamaño del grupo que participa en la sesión ya que, de este modo, se evitan problemas de congestión en el caso de una sesión con centenares o miles de participantes.
1.1.5.2.3. RTSP
RTSP (Real Time Streaming Protocol) es un nuevo protocolo de nivel aplicación usado para la entrega de flujos de datos multimedia, en forma
controlada y en tiempo real. Empleando RTSP como base, se pueden desarrollar aplicaciones capaces de controlar remotamente el servidor.
RTSP se basa en dos conceptos fundamentales:
STREAMING: consiste en la división de los datos en paquetes dimensionándolos adecuadamente en función del ancho de banda disponible entre el cliente y servidor. Una vez que la aplicación cliente ha recibido muchos paquetes, el software del cliente puede estar reproduciendo un paquete, descomprimiendo otro, y recibiendo un tercero. De esta manera es posible reproducir un fichero de datos casi inmediatamente, sin necesidad de disponer del fichero completo.
IP MULTICASTING: las redes multicast se caracterizan por permitir el envío de datos desde un servidor a un grupo determinado de clientes en un solo paso.
RTSP es similar a HTTP 1.1 en sintaxis y funcionamiento. Se diseño de esta manera: para hacer uso de la tecnología ya desarrollada para HTTP, como seguridad web y el uso de servidores proxy. Entre las ventajas de RTSP se encuentran las siguientes:
INTEROPERABILIDAD: permite operar entre las aplicaciones cliente- servidor de diferentes proveedores. Esto les da más flexibilidad y opción a diseñadores de aplicaciones multimedia.
PORTABILIDAD: debido que RTSP está orientado al entorno web, es imprescindible que una aplicación RTSP pueda implementarse sobre cualquier plataforma.
FIABILIDAD: RTSP se ha construido sobre técnicas suficientemente probadas, tales como RTP, UDP y TCP, haciéndolo fiable y robusto.
Un servidor de RTSP mantiene información de estado de cada cliente que está conectado a él. Se distinguen cuatro estados diferentes para el cliente:
ESTADO INIT: es el estado inicial, donde todavía no se ha recibido ningún SETUP.
ESTADO READY: el último SETUP tuvo éxito, o bien, el último PAUSE recibido tras la reproducción se llevo a cabo satisfactoriamente. En ambos casos, la respuesta ha sido enviada.
ESTADO RECORDING: el servidor está grabando datos.
1.1.6. TIPOS DE COMUNICACIÓN EN LA TELEFONIA IP
Utilizando VoIP no existe solo una sola forma de realizar una llamada, vamos a analizar las distintas opciones que nos presenta esta tecnología: