SIP - Session
Initiation Protocol
SIP, o Session Initiation Protocol es un
protocolo de control y señalización usado mayoritariamente en los sistemas de
Telefonía IP, que fue desarrollado por el IETF (RFC 3261). Dicho protocolo
permite crear, modificar y finalizar sesiones multimedia con uno o más
participantes y sus mayores ventajas recaen en su simplicidad y consistencia.
Hasta la fecha, existían múltiples
protocolos de señalización tales como el H.323 de la ITU, el SCCP de Cisco, o
el MGCP, pero parece que poco a poco SIP está ganando la batalla del estándar:
Cisco está progresivamente adoptando SIP como protocolo en sus sistemas de
telefonía IP en detrimento de H.323 y SCCP, Microsoft ha eligido SIP como
protocolo para su nuevo OCS (Office Communication Server), y los operadores (de
móvil y fijo) también están implantando SIP dentro de su estrategia de
convergencia, aprovechando de este modo la escalabilidad y interoperabilidad
que nos proporciona el protocolo SIP.
Funciones
SIP
El protocolo SIP actúa de forma
transparente, permitiendo el mapeo de nombres y la redirección de servicios
ofreciendo así la implementación de la IN (Intelligent Network) de la PSTN o
RTC.
Para conseguir los servicios de la IN el
protocolo SIP dispone de distintas funciones. A continuación, se enumeran las
más importantes:
-Localización de usuarios (SIP proporciona
soporte para la movilidad).
-Capacidades de usuario (SIP permite la
negociación de parámetros).
-Disponibilidad del usuario
-Establecimiento y mantenimiento de una
sesión.
En definitiva, el protocolo SIP permite la
interacción entre dispositivos, cosa que se consigue con distintos tipos de
mensajes propios del protocolo que abarca esta sección. Dichos mensajes
proporcionan capacidades para registrar y/o invitar un usuario a una sesión,
negociar los parámetros de una sesión, establecer una comunicación entre dos a
más dispositivos y, por último, finalizar sesiones.
Beneficios
del protocolo SIP frente otros protocolos:
En la actualidad, los protocolos más
usados en ToIP son tres: SIP, H.323 y IAX2.
H.323 es un estándar de la ITU que provee
especificaciones para ordenadores, sistemas y servicios multimedia por redes
que no proveen QoS (calidad de servicio). Como principales características de
H.323 tenemos: Implementa QoS de forma interna, Control de conferencias
IAX2 (Inter Asterisk eXchange) es un
protocolo creado y estandarizado por Asterisk.
Unas de sus principales características
son: Media y señalización viajan en el mismo flujo de datos.
-Trunking
-Cifrado de datos
Una de las ventajas de este protocolo es
que al enviar el “streaming” y la señalización por el mismo flujo de datos, se
evitan problemas derivados del NAT. Así pues, no es necesario abrir rangos de
puertos para el tráfico RTP. Por último, IAX2 nos permite hacer trunking de
forma que podemos enviar varias conversaciones por el mismo flujo, lo cual
supone un importante ahorro de ancho de banda.
Finalmente,
veamos qué hace de SIP un protocolo cada día más sólido. Aspectos importantes
referentes a dicho protocolo se enumeran como sigue:
El control de llamadas es stateless o sin
estado, y proporciona escalabilidad entre los dispositivos telefónicos y los
servidores.
SIP necesita menos ciclos de CPU para
generar mensajes de señalización de forma que un servidor podrá manejar más
transacciones.
Una llamada SIP es independiente de la
existencia de una conexión en la capa de transporte.
SIP soporta autentificación de llamante y
llamado mediante mecanismos HTTP.
Autenticación, criptográfica y
encriptación son soportados salto a salto por SSL/TSL pero SIP puede usar
cualquier capa de transporte o cualquier mecanismo de seguridad de HTTP, como
SSH o S-HTTP.
Un proxy SIP puede controlar la
señalización de la llamada y puede bifurcar a cualquier número de dispositivos
simultáneamente.
En definitiva, vemos que SIP es un
protocolo con una gran escalabilidad, modular y muy apto para convertirse en el
futuro inmediato de la ToIP.
Arquitectura
SIP
El estándar define varios componentes SIP
y hay varias formas de implementarlos en un sistema de control de llamadas.
-servidores User Agent,
-Proxies
-Registrars,
-Redirect
-Location.
A menudo, estos elementos son entidades
lógicas que se ubican todas juntas para conseguir una mayor velocidad de
procesamiento que dependerá a su vez de una buena configuración.
Normalmente los UA son una aplicación en
el ordenador del usuario, aunque a veces los UA también pueden ser teléfonos
móviles, PSTN gateways, una PDA, etc