Seleccionar página

sip_call_sessionEs un protocolo más nuevo que el H.323, de señalización para conferencia, telefonía, notificación de eventos y mensajería instantánea a trabes de Internet desarrollado por el IETF.

Este protocolo se utiliza para iniciar y terminar las llamadas. Los servidores para conectarse entre si utilizan TCP y UDP, y en la capa de aplicación utiliza el protocolo RTP para la transmisión en tiempo real de video y audio.

Se utiliza para el intercambio de video, mensajería, voz, juegos on-line y realidad-virtual.

Es un protocolo punto a punto (P2P) y por lo tanto la parte de inteligencia esta incluida en los terminales. Se definen dos elementos fundamentales para implementar las funcionalidades básicas:

  1. User agents-UA: consta de dos partes, el cliente y el servidor. El primero genera peticiones SIP y recibe las respuestas, el otro genera las respuestas a las distintas peticiones.
  2. Servidores: aquí nos encontramos con una división conceptual de tres tipos de servidores diferentes. Esta división aporta al conjunto estabilidad y mejora el rendimiento:
    • Proxy Server: tiene la tarea de enrutar las peticiones de otras entidades más próximas a su destino. Actúa como cliente y servidor para el establecimiento de llamadas entre usuarios. Existen los stateful que mantienen el estado de las transacciones durante el procesamiento de las peticiones y permiten la división de una petición en varias y el otro tipo son los stateless, que al contrario no mantienen estado únicamente se limitan a reenviar los mensajes.
    • Registrar Server: este servidor acepta peticiones de registro de los usuarios y guarda la información de estas para suministrar un servicio de localización y traducción de direcciones en el dominio que controla.
    • Redirect Server: este servidor genera respuestas de redirección a las peticiones que recibe y reencamina las peticiones hacia el próximo servidor.

SIP comparte con HTTP alguno de sus principios de diseño, siguiendo una estructura petición respuesta con coditos de respuesta similares a los de HTTP. Por ejemplo un código de retorno 200 significa OK y el 404 es no encontrado. Y la localización la basa en DNS. Por lo tanto este protocolo esta basado en el intercambio de peticiones y respuestas que consisten en una línea inicial. Recibe el nombre de request line e incluyen el nombre de método al que invocan, el identificador del destinatario, el protocolo SIP que se esta utilizando. Métodos a invocar:

  1. Invite: utilizado para invitar un usuario para participar en una sesión o para modificar parámetros.
  2. Ack: confirma el establecimiento de una sesión.
  3. Option: solicita información sobre las capacidades de un servidor.
  4. Bye: indica la terminación de una sesión.
  5. Cancel: cancela una petición pendiente.
  6. Register: registra un user agent.

 

Las respuestas se generan como retorno de una petición devolviendo un código de estado. En este caso la línea inicial recibe el nombre de status line, que llevara el SIP utilizado, código de respuesta y una pequeña descripción de ese código. Podemos recibir estas respuestas según el rango:

  • 1xx: mensaje provisional.
  • 2xx: éxito.
  • 3xx: redirección:
  • 4xx: fallo de método.
  • 5xx: fallos de servidor.
  • 6xx: fallos globales.