Aplicaciones SIP (Session Initiation Protocol) en Liberty

Una aplicación SIP es un programa Java que utiliza un servlet SIP (Session Initiation Protocol) como mínimo.

Un servlet SIP es un componente de aplicación Java™ gestionado por un contenedor de servlet SIP y que realiza señalización SIP. Al igual que otros componentes Java, los servlets son clases Java independientes de la plataforma que se compilan en un código de bytes neutral para la plataforma que se puede cargar de forma dinámica y los puede ejecutar un servidor de aplicaciones SIP con Java habilitado como, por ejemplo, un servidor de perfiles Liberty. Los contenedores, a veces denominados motores de servlet, son extensiones de servidor que manejan interacciones de servlet. Los servlets SIP interactúan con clientes intercambiando mensajes de solicitud y respuesta a través del contenedor de servlet.

SIP se utiliza para establecer, modificar y terminar sesiones IP multimedia, incluyendo la telefonía IP, la presencia y la mensajería instantánea. La "presencia" en este contexto hace referencia al estado de usuario como, por ejemplo, "Activo," "Ausente," o "No molestar". El estándar que define un modelo de programación para escribir aplicaciones de servlet basadas en SIP es JSR 289. La idea detrás de la especificación es proporcionar una interfaz de programación de aplicaciones (API) de Java similar a los servlets HTTP que proporciona un modelo de programación SIP fácil de utilizar. Al igual que el modelo de programación del servlet HTTP, cierta flexibilidad está limitada para optimizar la facilidad de uso y para reducir el tiempo para obtener ventajas.

No obstante, la API del servlet SIP difiere de muchas maneras de los servlets HTTP debido a que el protocolo es muy diferente. Mientras que SIP es un protocolo de petición y respuesta, no necesariamente existe una sola respuesta para cada petición individual. Esta complejidad y una necesidad para una solución de alto rendimiento significaba que era más fácil hacer que los servlets SIP sean asíncronos de forma nativa. Además, a diferencia de los servlets HTTP, el modelo de programación para los servlets SIP buscó conseguir que fuera más fácil crear solicitudes de cliente junto con la otra lógica, porque muchas aplicaciones actúan como cliente o proxy para otros servidores o proxies.

Solicitudes SipServlet

Al igual que los servlets HTTP, cada servlet SIP amplía una clase javax.servlet.sip.SipServlet base. Todos los mensajes entran a través del método de servicio, que puede ampliar. Sin embargo, puesto que no hay ninguna correlación unívoca de solicitudes con respuestas en SIP, la práctica sugerida es ampliar los métodos doRequest o doResponse, en su lugar. Cuando se amplían los métodos doRequest o doResponse, es importante llamar al método ampliado para que se complete el proceso.

Cada método de solicitud, que debe soportar la especificación, tiene un método doxxx del mismo modo que HTTP. En HTTP, los métodos como, por ejemplo, doGet y doPost existen para solicitudes GET y POST. En SIP, los métodos doInvite, doAck, doOptions, doBye, doCancel, doRegister, doSubscribe, doNotify, doMessage, doInfo y doPrack existen para cada método de solicitud SIP.

A diferencia de un servlet HTTP, los servlets SIP tienen métodos para cada uno de los tipos de respuesta que están soportados. De esta forma, los servlets SIP incluyen las respuestas doProvisionalResponse, doSuccessResponse, doRedirectResponse y doErrorResponse. Específicamente, se utilizan las respuestas provisionales (respuestas 1xx) para indicar el estado, las respuestas satisfactorias (respuestas 2xx) para indicar que una transacción se realizado satisfactoriamente, las respuestas de redirección (respuestas 3xx) para redirigir al cliente a un recurso o entidad que se ha movido y las respuestas de error (respuestas 4xx, 5xx y 6xx) para indicar una anomalía o una condición de error específica. Estos tipos de mensajes de respuesta son similares a HTTP, pero puesto que el modelo de programación del servlet SIP incluye un modelo de programación de cliente, las respuestas también se deben manejar mediante programación.


Icono que indica el tipo de tema Tema de concepto



Icono de indicación de fecha y hora Última actualización: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwlp_sip_introapps
Nombre de archivo:cwlp_sip_introapps.html