SIP (Session Initiation Protocol) o Protocolo de Inicio de Sesiones.
Existen dos elementos fundamentales dentro del protocolo SIP, los agentes de usuario (UA) y los servidores.
Los agentes de usuario (UA user agent) tienen dos partes distintas, el User Agent Client (UAC) y el User Agent Server (UAS). EL UAC genera peticiones SIP y el UAS genera respuestas a esas peticiones SIP
Los servidores SIP pueden ser de tres tipos:
Proxy Server reenvia las peticiones a otro servidor, alterando los campos de la solicitud en caso necesario. Es semejante a un servidor Proxy Http pero para SIP. A su vez dependiendo de si mantienen el estado, o no, de las transacciones durante su procesamiento pueden ser Statefull o Stateless .
Registrar Server acepta peticiones de registro de usuario y las guarda para suministrar servicios.
Redirect Server redirecciona las peticiones que recibe hacia otro servidor.
Las peticiones SIP comienzan por una línea inicial del mensaje, llamada “Request-Line”, que contiene el nombre del método, el identificador del destinatario de la petición (Request-URI) y la versión del protocolo SIP.
Existen seis métodos básicos SIP que describen las peticiones de los clientes:
INVITE: Permite establecer una sesión o para modificar parámetros en una sesión ya existente.
ACK: Confirma el establecimiento de una sesión.
OPTION: Solicita información sobre las capacidades de un servidor.
BYE: Indica la terminación de una sesión.
CANCEL: Cancela una petición de establecimiento de una sesión.
REGISTER: Registrar el User Agent.
También existen seis clases de respuesta:
1xx: respuestas informativas, como 180, que significa teléfono sonando(ringing).
2xx: respuestas de éxito.
3xx: respuestas de redirección.
4xx: errores de solicitud.
5xx: errores de servidor.
6xx: errores globales.