6. Control de sesión y control de llamada (H.323)
Control de sesión
RTP y RTCP ofrecen un amplio rango de funcionalidad para las aplicaciones multimediales, pero hay un aspecto de la videoconferencia que estos protocolos no manejan, normalmente llamado control de sesión.
Para entenderlo consideremos el siguiente problema. Suponga que Usted desea mantener una videoconferencia en cierto momento y hacerla disponible a un amplio número de participantes. Quizá usted decida codificar el video stream utilizando el estándar MPEG-2, utilizar la dirección multicast IP 224.1.1.1 para transmitir los datos y enviarlo a través de RTP, sobre UDP, utilizando el puerto 4000. ¿Cómo se puede dar a conocer toda esta información a los posibles participantes de la videoconferencia?. Una forma es colocar la información en un mensaje de correo electrónico y enviarlo a cada uno de ellos, pero idealmente debería existir un formato estándar y un protocolo para diseminar esta información. La IETF tiene un grupo de trabajo, Multiparty Multimedia Session Control group, que ha definido protocolos para este propósito. Los protocolos que se han definido incluyen:
La ITU también ha adelantado mucho en esta área, lo que no es sorprendente ya que el problema que debe manejar esta asociación es el de telefonía. Afortunadamente ha existido considerable coordinación entre la IETF y la ITU en este caso, así que los diferentes protocolos definidos en las dos organizaciones interoperan sin mayores problemas. La recomendación ITU más importante para comunicación multimedial sobre una red de conmutación de paquetes es conocida como H.323 y está asociada a muchas otras recomendaciones de la ITU, incluyendo la H.245 para control de llamadas. El conjunto completo de recomendaciones cubiertas por H.323 tiene bastantes páginas y el protocolo se distingue por su complejidad así que en este documento se revisará de forma muy general. H.323 es popular como protocolo para telefonía Internet y será la aplicación considerada aquí.
H.323 y H.245
Un dispositivo que origina o termina una llamada es conocido como una terminal H.323: podría ser una estación de trabajo ejecutando una aplicación de telefonía Internet, o podría ser un appliance especialmente diseñado -un aparato similar a un teléfono con software de red y un puerto Ethernet-. Las terminales H.323 pueden hablarse entre ellas directamente, pero las llamadas generalemente están mediadas por un dispositivo conocido como gatekeeper. Los gatekeepers realizan un número de funciones como traducir entre diversos formatos de direccionamiento utilizados para hacer llamadas telefónicas y controlan cuántas llamadas pueden ser hechas en un momento dado para delimitar el ancho de banda utilizado por las aplicaciones H.323. H.323 también incluye el concepto de un gateway, un dispositivo que conecta la red H.323 a otros tipos de redes. El uso más común del gateway H.323 es conectar una red H.323 a la red pública de telefonía conmutada. Esto permite a un usuario ejecutar la aplicación H.323 en un computador para hablar con una persona que utiliza un teléfono convencional sobre una red de telefonía pública convencional.
Una función del gatekeeper es ayudar a la terminal H.323 a encontrar un gateway, quizás escogiendo entre varias opciones para encontrar una que sea relativamente cercana al destino final de la llamada. Esto es bastante útil en un mundo donde el número de teléfonos convencionales supera por un alto margen los teléfonos basados en PCs. Cuando una terminal H.323 hace una llamada a un destino que tiene un teléfono convencional, el gateway es el destino efectivo para la llamada H.323 y este último es el responsable de traducir de manera apropiada las señales y el media stream que debe transportarse sobre la red de teléfonos convencional.
Una parte importante de la recomendación H.323 es el protocolo de control de llamadas H.245. Cuando una terminal H.323 desea llamar a otra, esta utiliza H.245 para negociar las propiedades de la llamada. Este podría listar un número de estándares de codificación de audio que la terminal soporta y el destino de la llamada puede responder con una lista de los que ella soporta y las dos terminales pueden seleccionar un estándar de codificación que las dos manejen. H.245 también puede ser utilizado para determinar los números de puerto que RTP y RTCP utilizarán para el media stream (o streams -una llamada podría incluir audio y video-) en determinada llamada. Una vez se logra esto, la llamada puede ser hecha con RTP como protocolo de transporte de los media streams y RTCP llevando la información de control pertinente.