4 Materiales y Métodos 99
4.3 Diseño y desarrollo de arquitectura IMS y servicios habilitadores 107
4.3.2 Protocolos 111
IETF [160], que se pueden diferenciar en tres grandes grupos: Autenticación, Autorización y Contabilización (Authentication, Authorization and Accounting, AAA): ofrece garantías para el establecimiento de una comunicación segura entre el usuario y sus servicios empleando el protocolo “Diameter” [161].
Señalización: El control de la sesión es soportado por los protocolos Session Initiation Protocol (SIP) [162] y Session Description Protocolo (SDP) [163]. La señalización de IMS se realiza mediante el protocolo SIP, que permite el control de sesión, un control dinámico del tráfico multimedia en las sesiones mediante SDP, y negociación de QoS.
Transporte de multimedia: Además de los protocolos SIP y SDP, IMS emplea otros protocolos estándar de Internet para la provisión de servicios multimedia, como: RTP (Real Time Protocol) [164], RTCP (Real Time Control Protocol) [165] o H.323 para el transporte de flujos IP multimedia en el plano de usuario, RSVP (Resource Servation Protocol) [166] y DiffServ para asegurar la QoS extremo a extremo, etc.
4.3.2.1 SIP:SessionInitiationProtocol
Session Initiation Protocol (SIP), es un protocolo de señalización que permite
establecer, mantener, modificar y finalizar sesiones multimedia en una red IP. El funcionamiento de SIP se basa en Hyper Text Transfer Protocol (HTTP) [167][168] y
Simple Management Protocol (SNMP) [169][170] permitiendo que la comunicación se
realice mediante solicitudes o peticiones (requests) y respuestas (responses) entre cliente y servidor. SIP no es un protocolo que se integre de manera vertical pudiendo trabajar así con otros protocolos como: Real Time Protocol (RTP), Session Description Protocol (SDP), H.323, etc. Los mensajes SIP se agrupan en transacciones que engloban una petición y todas las respuestas a la misma (una petición puede estar seguida por más de una respuesta). Estos mensajes SIP se transportan mediante protocolo UDP (User Datagram Protocol) o TCP (Transmission Control Protocol).
4.3.2.1.1 Agentes SIP
En el protocolo SIP se definen varios tipos de agentes como aquellas entidades que participan en la creación, envío y recepción de mensajes SIP:
User Agent (UA): Un UA es un dispositivo final que soporta la señalización SIP y es capaz de establecer sesiones multimedia.
Presence Agent (PA): Un PA es una entidad capaz de recibir peticiones de suscripción y generar notificaciones de eventos SIP.
Back to Back User Agent (B2BUA): Un B2BUA es un agente SIP que recibe una petición (request), la modifica y reenvía posteriormente como una petición nueva.
4.3.2.1.2 Servidores SIP
Son servidores que aceptan peticiones SIP y dan respuestas a ellas. Podemos distinguir varios tipos de servidores SIP:
Proxy SIP Servers: reciben peticiones SIP de un UA o de otro proxy y actúan de parte del UA reenviando o respondiendo a la petición.
Redirect Server: Se tratan de entidades que re‐direccionan mensajes SIP pero no tienen capacidad de reenvío
Register Server: Es un servidor que acepta mensajes SIP REGISTER de los usuarios que se quieren registrar en la red, en este caso red IMS
4.3.2.1.3 Mensajes SIP
A continuación se expone con más detalle el contenido de los mensajes SIP diferenciándolos entre peticiones y respuestas.
4.3.2.1.3.1 Peticiones (Requests)
Son mensajes en los que el receptor llevará a cabo una determinada acción. Originalmente, en la especificación básica de SIP (RFC 3261), se definen 6 mensajes de peticiones diferentes:
INVITE: solicita la presencia de otra parte en una sesión y se emplea para establecer sesiones multimedia entre dos o más agentes usuarios (UA). Permite negociar los parámetros de la sesión, QoS y seguridad..
ACK: confirma una nueva conexión y se envía para asentir respuestas finales a una solicitud INVITE.
OPTIONS: permite obtener información sobre las capacidades de un UA o un servidor Proxy.
REGISTER: este tipo de peticiones son enviadas específicamente a un servidor de registro para añadir, eliminar o consultar información de ubicación de un usuario.
BYE: se utiliza para terminar una sesión previamente establecida.
CANCEL: se emplea para cancelar una petición anterior.
Más tarde aparecieron las extensiones de SIP que se encuentran definidas en las RFC 3262 [171], 3265 [172], 3311 [173], 3428 [174], 3515 [175], 3680 [176], 3856 [177] o 3903 [178], y que introducen siete nuevas peticiones:
REFER: se emplea para transferir al UA receptor del mensaje hacia otro recurso identificado.
SUBSCRIBE: es utilizado cuando un UA solicita la recepción de avisos al ocurrir determinados eventos en otro agente SIP.
NOTIFY: es utilizado por un UA para transmitir información sobre la ocurrencia de un cierto evento. Las peticiones NOTIFY contienen una cabecera Event indicando el tipo de evento notificado.
MESSAGE: permite el envío de mensajes instantáneos entre usuarios en tiempo
real. Este mensaje SIP puede transportar varios tipos de contenidos basándose en la codificación Multipurpose Internet Mail Extensions (MIME) [179].
UPDATE: es un método que se utiliza para cambiar el estado de una sesión sin modificar el estado del diálogo, p.ej. silenciar la llamada o poner la llamada en espera.
INFO: permite enviar informaciones de señalización durante una llamada (dígitos DTMF, tasación de una llamada, etc.).
PRACK: desempeña el mismo rol que un ACK pero solo para respuestas provisionales. Al contrario que ACK, la petición PRACK tiene su propia respuesta.
4.3.2.1.3.2 Respuestas (Responses)
Un mensaje SIP tipo “response” lo origina un agente SIP como respuesta a una petición request. Existen seis grupos de “responses” que se listan en la Tabla 4. Los grupos o clases de respuestas se identifican con un número de tres cifras, donde la primera nos indica el grupo al que pertenecen.
Rango Significado Descripción
1XX Información Indica el estado de la llamada antes de que se complete
2XX Éxito La solicitud se ha completado con éxito
3XX Redirección El servidor ha cambiado de localización con lo que el
cliente ha de dirigir la solicitud a otro servidor
4XX Error en el cliente La solicitud ha fracasado por fallo en el cliente. El cliente
puede intentar hacer otra solicitud
5XX Error en el servidor La solicitud ha fracasado por fallo en el servidor. La
solicitud puede ser redirigida a otro servidor.
6XX Error global Indica que el servidor sabe que la petición fallará allá
donde se intente. Como consecuencia, no debería
reintentarse a otras direcciones.
Tabla 4: Identificación mensajes de respuesta SIP
4.3.2.2 SDP:SessionDescriptionProtocol
SDP es un protocolo a nivel de aplicación cuyo fin es describir sesiones IP multimedia
en tiempo real. En cada sesión ambos usuarios indican toda la información necesaria
para establecer una sesión (capacidades de sus dispositivos, los protocolos multimedia empleados y sus puertos de comunicación). Este intercambio de información se pueden realizar en el momento de la negociación de la sesión o cuando la sesión está en curso.
El uso de SDP en SIP se encuentra especificado en la RFC 4566 [163] y se trata de una sintaxis de descripción de propiedades de sesión en forma de texto. Se incorpora dentro del cuerpo de los mensajes SIP que establecen la sesión, como pueden ser INVITE o ACK.
4.3.2.3 Diameter
Diameter es un protocolo desarrollado por el IETF para lograr las funciones de Authentication, Authorization and Accounting (AAA). En IMS es usado para garantizar una comunicación y señalización segura entre algunos componentes de la arquitectura IMS. También, es empleado para realizar conexiones AAA entre el S‐CSCF y el UE.