1. PROTOCOLO SIP
PEDRO JOSÉ MIRANDA CASTRO
CONSULTA
ING. FERNANDO SÁNCHEZ
CORPORACIÓN UNIVERSITARIA REPUBLICANA
FACULTAD DE INGENIERIA DE SISTEMAS
ELECTIVA PROFUNDIZACIÓN II: REDES DE NUEVA GENERACIÓN
BOGOTÁ D.C.
2014-II
2. INTRODUCCIÓN
Antes de estudiar el concepto y las características del Protocolo de Inicio de Sesiones (SIP),
hay que tener en cuenta que este es uno de los varios protocolos VoIP, pero ¿qué es un
protocolo de VoIP?
PROTOCOLO DE VoIP
El protocolo VoIP es aquel que se encarga de dividir en paquetes aquellos flujos de audio
para transportarlos sobre redes basadas en IP. Este protocolo abarca una serie de
transacciones de señalización entre terminales que cargan dos flujos de audio para cada
dirección de la conversación. Entre los más importantes protocolos de VoIP se encuentran;
IAX (Inter Asterik eXchange): Es un protocolo abierto de transporte, usa el puerto UDP
4569 tanto para señalización de canal como para RTP (Protocolo de transporte en tiempo
real).
H.323: Diseñado para el transporte de vídeo conferencia, denominado seguro por utilizar
RTP. Posee dificultades con NAT, un ejemplo es que necesita direccionar el puerto TCP
1720 al cliente, además de direccionar los puertos UDP para la media de RTP y los flujos
de control de RTCP.
MGCP (Media Gateway Control Protocol): Diseñado para simplificar la comunicación
con terminales como los teléfonos, utiliza un modelo centralizado (cliente-servidor), por lo
cual un teléfono necesita conectarse a un controlador antes de conectarse con otro teléfono,
de tal forma que la comunicación no es directa.
SCCP (Skinny Call Control Protocol): Es un protocolo propietario de Cisco, usa TCP/IP
3. para transmitir y recibir llamadas, para el audio utiliza RTP, UDP e IP. Los mensajes
transmitidos se envían sobre TCP y usa el puerto 2000.
Los anteriores, son junto a SIP, los protocolos más importantes de VoIP.
4. SIP (Session Initiation Protocol)
El protocolo de señalización SIP (Protocolo de Inicio de Sesiones) es utilizado para el
establecimiento de sesiones en una red IP. Una sesión puede ser una simple llamada de
teléfono de dos vías o una colaboración de sesión de conferencia multimedia.
SIP es un protocolo similar a HTTP y SMTP en cuanto a la sintaxis de sus operaciones
(petición-respuesta), por lo cual puede ser vinculado adecuadamente a las aplicaciones de
Internet. Usando la telefonía sobre SIP, ésta se convierte en una aplicación web y se podría
integrar fácilmente con otros servicios de Internet, por lo cual es muy simple para que
proveedores de telecomunicaciones construyan servicios convergentes de voz y
multimedia, además, SIP fue diseñado para que la telefonía fuese un servicio más en
Internet.
Funciones del SIP
El protocolo SIP permite crear, modificar y finalizar sesiones multimedia con uno o más
participantes y sus principales ventajas son su simplicidad y consistencia. El protocolo SIP
actúa de forma transparente, permitiendo el mapeo de nombres y la re-dirección de
servicios. Entre sus funciones principales se encuentran: Localización de usuarios (SIP
proporciona soporte para la movilidad), capacidades de usuario (SIP permite la negociación
de parámetros), disponibilidad del usuario y establecimiento y mantenimiento de una
sesión.
A grosso modo, el protocolo SIP permite la interacción entre dispositivos a través de
distintos mensajes que son propios del protocolo, usados para el registro o la invitación a un
usuario a una sesión, la negociación de los parámetros de la sesión, el establecimiento de
una comunicación entre dos o más dispositivos y la finalización de sesiones.
5. Características del SIP
• SIP necesita menos ciclos de CPU para generar mensajes de señalización de forma
que un servidor podrá manejar más transacciones.
• 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 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.
Arquitectura del SIP
La arquitectura del SIP posee entidades lógicas que se ubican todas juntas con el fin de
conseguir una mayor velocidad de procesamiento. Cada una de estas entidades intervienen
en una conversación SIP como cliente, como servidor o como ambas. Estas entidades son:
• Agente de usuario: Los agentes de usuario pueden ser personas o aplicaciones de
software. Estos son los puntos extremos del protocolo, llámese un video-teléfono,
un teléfono, un cliente de software o cualquier dispositivo similar. Existen dos
comportamientos de agentes de usuario: los UAC (Clientes) y los UAS
(Servidores).
• Servidores proxy: Los servidores proxy son muy importantes en la infraestructura
SIP, ya que son los que realizan el enrutamiento de una sesión de invitados de
acuerdo a su ubicación actual, la autenticación, la contabilidad y muchas otras
funciones importantes.
• Servidores de registro: El servidor de registro es el que establece la ubicación
física de un usuario determinado. En este proceso intervienen los proxy y los
6. servidores de re-dirección que al recibir la solicitud buscan donde está el usuario,
para así asignarle la llamada y conectar los medios (ya sean voz, imágenes o
mensajes) a intercambiar.
• Servidor de localización: El servidor de localización es el que da información
acerca de donde puede estar el cliente al que se quiere llamar para poder localizarlo.
Métodos del SIP
El protocolo SIP posee seis diferentes métodos o solicitudes:
• INVITE: Se usa con el fin de establecer una sesión entre user agents. Contiene toda
la información sobre el que genera la llamada, así como el tipo de flujo de la
comunicación (voz, video, …).
• ACK: Cuando el UA que envió la solicitud de INVITE es aceptado, confirma que
recibió dicha aceptación con el método ACK.
• BYE: El método BYE permite la liberación de una sesión anteriormente
establecida. Puede ser generado por el UAC o el UAS.
• REGISTER: Es usado por una UA con el fin de indicar al registrar la
correspondencia entre su dirección SIP y su dirección de contacto.
• CANCEL: Es utilizado para solicitar el abandono de la llamada en curso pero no
tiene ningún efecto sobre la llamada.
• OPTIONS: Es utilizado para interrogar las capacidades y el estado de un UA o un
servidor.