SIP: todo lo que necesitas saber sobre el Session Initiation Protocol

El Session Initiation Protocol (SIP) se encarga de establecer y finalizar conexiones de audio y vídeo en tiempo real. Se utiliza sobre todo en telefonía IP.

¿Qué es el protocolo SIP?

Ya sea en contextos profesionales, ya en privados; las videoconferencias, la mensajería instantánea, el intercambio de archivos, las llamadas telefónicas IP y otras formas de comunicación en tiempo real forman parte de la vida cotidiana de muchos. Un factor importante en todos estos usos es el Session Initiation Protocol, abreviado como SIP. Como protocolo de red, es muy importante para la configuración inicial, el control y la posterior terminación de llamadas de audio o vídeo por VoIP (Voz sobre IP) con dos o más participantes. Esta tecnología tiene en cuenta las características especiales de las redes IP y es un componente decisivo en el ámbito de la comunicación en tiempo real.

La aparición de SIP, que se especificó en el RFC 3261, convirtió la telefonía por Internet en una alternativa real a la llamada telefónica tradicional a través de un sistema telefónico basado en hardware. Gracias al protocolo SIP, los usuarios tienen, por un lado, mucha más movilidad y, por otro, se benefician de ventajas en los costes. Por este motivo, el SIP ha ido adquiriendo cada vez más importancia desde su introducción en 2004 hasta la actualidad y ha sustituido casi por completo al sistema telefónico fijo.

El Session Initiation Protocol se basa en texto y es comparable en muchos aspectos al protocolo HTTP (Hypertext Transfer Protocol) para Internet y SMTP (Simple Mail Transfer Protocol) para la comunicación por correo electrónico.

¿Cuál es el proceso del protocolo SIP?

Al igual que los otros dos protocolos, SIP también funciona en la quinta capa del modelo OSI, la capa de sesión (Session Layer en inglés). La tarea del protocolo SIP es similar a la de una centralita de los primeros tiempos del teléfono. En este caso, los telefonistas se aseguraban primero de que se pudiera establecer la conversación entre dos personas. En el transcurso de la conversación, se mantenía la línea y cuando ambas partes habían llegado al final, se terminaba la conexión y la línea quedaba así libre para otras llamadas. SIP también realiza este proceso. Sin embargo, el Session Initiation Protocol no es responsable de otros aspectos de la comunicación.

SIP también puede permitir llamadas seguras y cifradas mediante la extensión SIPS (Session Initiation Protocol Secure). Dado que la sesión y los medios están separados entre sí, teóricamente sus respectivos flujos de datos también pueden cifrarse por separado. Para la transmisión de los datos de voz propiamente dichos, existen otros protocolos, como el Protocolo de Transporte en Tiempo Real (RTP) y el Protocolo de Descripción de Sesión (SDP), que proporciona direcciones IP.

¿Cómo funciona el SIP?

SIP se basa en una arquitectura cliente/servidor convencional. El protocolo básico funciona mediante peticiones y respuestas, con el Session Initiation Protocol actuando como intermediario entre los dispositivos finales conectados. Puede ser casi cualquier dispositivo con conexión a Internet. SIP recibe las solicitudes de los clientes o agentes de usuario (UAS). Los números de teléfono están disponibles a través de la interfaz [SIP trunk]. Sin embargo, los demás protocolos abordados se encargan del intercambio real de datos a posteriori. Otros componentes para la comunicación con SIP pueden ser los servidores proxy y otras puertas de enlace.

Para la conexión, el Session Description Protocol determina qué tipo de conexión es posible y regula las modalidades. Estos métodos también se denominan códecs. Las direcciones de red a utilizar también vienen determinadas por el SDP. Una vez solucionado esto, un protocolo como RTP garantiza la transmisión de los datos reales. Cuando finaliza la sesión, el protocolo SIP desconecta correctamente la conexión.

¿Cómo direcciona Session Initiation Protocol?

Para direccionar, SIP utiliza el Uniform Resource Identifier (URI) y el Domain Name System (DNS). Las direcciones que se asignan de este modo a todos los participantes tienen una estructura similar a las direcciones de correo electrónico habituales. Al igual que una dirección de correo electrónico, una dirección SIP consta de dos partes: un nombre de usuario o un número de teléfono al principio y la red correspondiente detrás. Los números de teléfono son especialmente comunes en los dispositivos que ofrecen una interfaz con las redes telefónicas normales.

¿Qué peticiones SIP existen?

El SIP reconoce varias consultas o requests, a las que se responde con responses. Estas respuestas se basan en los códigos de estado HTTP. Las peticiones de los protocolos SIP se dividen en peticiones SIP elementales y peticiones SIP extendidas. Estas son las peticiones en detalle:

Peticiones SIP básicas

  • ACK confirma una solicitud o respuesta recibida.
  • BYE finaliza correctamente una sesión activa.
  • La petición SIP CANCEL cancela una petición pendiente.
  • Mediante INVITE se envía una solicitud a un servidor para establecer una sesión.
  • OPTIONS proporciona a los terminales una visión general de las especificaciones de los demás dispositivos que intervienen.
  • REGISTER registra un dispositivo en el proveedor de servicios.

Solicitudes SIP avanzadas

  • INFO transmite información que no está directamente relacionada con la sesión SIP.
  • MESSAGE transmite un mensaje de texto a un dispositivo.
  • NOTIFY comprueba el estado de la conexión y envía notificaciones si hay cambios.
  • PRACK confirma provisionalmente una solicitud.
  • La solicitud SIP REFER reenvía una conexión existente a otro participante.
  • SUSCRIBE monitoriza un evento concreto y envía un mensaje cuando se produce.
  • UPDATE puede cambiar el estado de una llamada.

¿Qué respuestas SIP se utilizan?

Las SIP responses se utilizan en respuesta a las solicitudes enumeradas anteriormente. Estas respuestas se dividen en seis categorías:

  • 1xx proporciona información de estado preliminar antes de que haya una respuesta del servidor, por ejemplo.
  • 2xx indica que la solicitud se ha realizado correctamente.
  • 3xx informa sobre reenvíos posibles o necesarios.
  • 4xx indica que no se ha podido procesar una solicitud.
  • 5xx informa sobre un error en el servidor.
  • 6xx indica que se ha podido contactar con el servidor, pero la transacción no puede completarse por razones generales.

¿Cuál es la diferencia entre SIP y VoIP?

Aunque los términos se utilizan a menudo juntos y ambos protocolos están estrechamente relacionados, SIP y VoIP no son sinónimos. El protocolo SIP establece, mantiene y finaliza una conexión. Sin embargo, el protocolo VoIP es necesario para la transmisión real de paquetes de datos a través de diferentes tipos de redes y servidores. VoIP continua el trabajo del protocolo SIP.