• No se han encontrado resultados

En el punto anterior se ha mostrado el protocolo de señalización SIP para establecer una comunicación entre dos extremos, sin embargo como ya se indicó anteriormente esta no es suficiente para entablar una comunicación Media. Para establecer un flujo de comunicación

Media es necesario un protocolo que intercambie la información entre los extremos, es

decir, que transporte la información entre un origen y su destino además de proveer de las técnicas necesarias para evitar los problemas que se pueden presentar durante el intercambio, tales como: jitter16, retardo17, etc.

Los protocolos más utilizados para esta finalidad de transporte de audio y video en tiempo real son:

16

El jitter es la diferencia de tiempo entre el tiempo en el que llega un paquete y el tiempo en el que se cree que llegará.

17 El retardo es la diferencia de tiempo entre una señal transmitida y el tiempo en que ésta llega a su destino.

 Real Time Protocol o RTP.

 Real Time Control Protocol o RTCP.

RTP se encuentra definido en el RFC3550 y es el encargado de transportar tanto

audio como vídeo en tiempo real. Utiliza UDP como protocolo de transporte, ya que el uso de

TCP y su control de flujo y congestión, darían lugar a un retardo elevado durante la

comunicación a causa de las retransmisiones.

El protocolo RTP, para llevar a cabo su función, hace uso de un número de secuencia, marcas de tiempo, envío de paquetes sin retransmisión, identificación del origen, identificación del contenido, sincronización, etc. lo que le permite en presencia de pérdidas, jitter o retardo, poder continuar con el flujo de paquetes. Por lo tanto no puede garantizar que la entrega de tráfico se haga en tiempo real, aunque si garantiza al menos que lo hará de forma sincronizada.

El protocolo RTCP es el protocolo compañero de RTP. RTCP es el encargado de monitorizar el flujo de los paquetes RTP. Obtiene estadísticas sobre el jitter, RTT, latencia, perdida de paquetes, etc. Fundamentalmente está relacionado con la calidad de servicio. El inconveniente es que aunque realice una monitorización de la calidad de servicio de RTP, no se poseen mecanismos para reservar ancho de banda o control de la congestión y así intentar paliar una situación en la que la calidad de la transmisión no es suficiente. Es por ello por lo que la utilización de RTCP es opcional, aunque recomendable.

Al inicio del punto anterior 5.1. Protocolos de comunicación se hizo referencia a que el protocolo SIP se integra perfectamente con protocolos de audio como RTP, RTSP (Real Time

Streaming Protocol) gracias al protocolo SDP, que permite formar así una completa arquitectura

multimedia. Por ello queda más que justificado el realizar una introducción del protocolo SDP.

SDP o Session Description Protocol, definido en el RFC4566, se utiliza durante la

negociación que lleva a cabo SIP entre los dos agentes. Su función es la de detallar como se va a realizar el intercambio de comunicación posterior mediante protocolos como por ejemplo

RTP para el caso de audio o video. Para ello, indica toda la información relacionada con el

tráfico Media tal como dirección IP y puerto donde espera cada agente recibir el audio, el codec a utilizar entre ambos, etc.

En SIP, la petición INVITE es la que contiene como cuerpo del mensaje la descripción de la sesión (SDP) del agente, llamémosle “llamante”, mientras que en la repuesta 200 OK del agente “llamado” se encuentra la descripción de la sesión de éste. En la descripción de la sesión, cada agente informa al otro extremo de los codec que soporta, de la dirección IP y puerto donde espera recibir el tráfico RTP, además de cierta información adicional requerida por RTP.

Mensaje 5-11. Petición Invite - 192.168.1.90:5060 -> 192.168.1.130:5060

INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP

192.168.1.90:5060;rport;branch=z9hG4bK7F01146D747821A560544FB9D08549 From: X-Lite <sip:[email protected]:5060>;tag=1084480144

To: <sip:[email protected]> Contact: <sip:[email protected]:5060> Call-ID: [email protected] CSeq: 21508 INVITE Max-Forwards: 70 Content-Type: application/sdp User-Agent: X-Lite release 1105d Content-Length: 310

v=0

//IP donde el terminal 201 espera recibir el tráfico Media// o=201 3462578896 3462578922 IN IP4 192.168.1.130

s=X-Lite

c=IN IP4 192.168.1.90 t=0 0

//Puerto donde el terminal 201 espera recibir el tráfico Media// m=audio 8000 RTP/AVP 0 8 3 98 97 101 a=rtpmap:0 pcmu/8000 a=rtpmap:8 pcma/8000 a=rtpmap:3 gsm/8000 a=rtpmap:98 iLBC/8000 a=rtpmap:97 speex/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=sendrecv Mensaje 5-12. Respuesta 200 OK - 192.168.1.130:5060 -> 192.168.1.90:5060 SIP/2.0 200 Ok

Via: SIP/2.0/UDP 192.168.1.130:5060;branch=z9hG4bK1ad6ffa8;rport From: "device" <sip:[email protected]>;tag=1084480144

To: <sip:[email protected]:5060>;tag=1526648226 Contact: <sip:[email protected]:5060>

Call-ID: [email protected] CSeq: 21508 INVITE

Content-Type: application/sdp Server: X-Lite release 1105d Content-Length: 310

v=0

//IP donde el terminal 200 espera recibir el tráfico Media// o=200 3238555091 3238570131 IN IP4 192.168.1.130

s=X-Lite

c=IN IP4 192.168.1.130 t=0 0

//Puerto donde el terminal 200 espera recibir el tráfico Media// m=audio 8000 RTP/AVP 0 8 3 98 97 101 a=rtpmap:0 pcmu/8000 a=rtpmap:8 pcma/8000 a=rtpmap:3 gsm/8000 a=rtpmap:98 iLBC/8000 a=rtpmap:97 speex/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=sendrecv

4

4

KKAAMMAAIILLIIOO..EEllpprrooxxyySSIIPPddeeccóóddiiggooaabbiieerrttoo

Como se ha visto en el Punto 5-3 Señalización y audio, uno de los pilares fundamentales de la VoIP son los protocolos de señalización. Mediante los protocolos de señalización se establecen una serie de normas y/o reglas necesarias para poder garantizar la comunicación entre dos extremos.

Figura 5-10. Logotipo no oficial de Kamailio

KAMAILIO (antes OpenSER) es un servidor SIP de código abierto escrito en C, que

sobre un sistema con recursos limitados, puede gestionar cientos de llamadas por segundo, ofreciendo un avanzado y alto rendimiento en VoIP ya que implementa funcionalidad de servidor de registro, servidor de localización, servidor proxy y servidor de redirección.

La arquitectura de KAMAILIO es una arquitectura modular la cual permite adaptar el servicio a las necesidades de cada usuario: módulo de contabilidad, de autenticación, de gestión de NAT, servidor, etc.

Por ejemplo, el módulo Dispatcher otorga a KAMAILIO las características de un rápido balanceador de carga: se definen un listado de nodos destino y se selecciona el algoritmo de balanceado a usar. En la figura 5-11 se muestra una posible implantación realizada con

KAMAILIO.

Figura 5-11. Posible escenario de implantación de Kamailio

En definitiva KAMAILIO es una solución utilizada por los proveedores de VoIP gracias a su potente manejo del protocolo SIP y a otras muchas funcionalidades.