Servlets SIP

Un servlet SIP est un composant d'application fondé sur Java qui est géré par un conteneur de servlets SIP et qui effectue des signalements SIP. Les servlets SIP interagissent avec les clients en échangeant des messages de demande et de réponse par l'intermédiaire du conteneur de servlets.

Les spécifications du servlet SIP 1.0 (JSR 116) sont normalisées par le biais de JSR (Java™ Specification Request) 116. Les spécifications visent à fournir une interface API Java similaire aux servlets HTTP offrant un modèle de programmation SIP facile à utiliser. Comme le modèle de programmation de servlet HTTP courant, la souplesse est limitée pour accroître la simplicité d'utilisation et la rapidité.

L'interface API de servlet SIP se distingue toutefois par de nombreux aspects des servlets HTTP en raison de la grande différence du protocole. Le protocole SIP est basé sur la réponse aux requêtes, mais il n'y a pas nécessairement une seule réponse à chaque requête. Cette complexité et la nécessité d'une solution hautement performante signifie qu'il est plus facile d'avoir des servlets SIP asynchrones de manière native. Par ailleurs, contrairement aux servlets HTTP, le modèle de programmation des servlets SIP cherche à rendre les requêtes des clients faciles à créer à côté de l'autre logique écrite car de nombreuses applications se comportent comme un client ou un serveur proxy par rapport à d'autres serveurs ou proxys.

Requêtes SipServlet

Comme les servlets HTTP, chaque servlet SIP développe une classe javax.servlet.sip.SipServlet de base. Tous les messages arrivent par la méthode service que vous pouvez développer. Toutefois, en l'absence de mappage un à un des requêtes aux réponses dans le protocole SIP, la pratique conseillée consiste à développer les méthodes doRequest ou doResponse à la place. Dans ce cas, il est important d'appeler la méthode développée pour terminer le traitement.

Chaque méthode de requête devant être prise en charge par les spécifications, dispose d'une méthode doxxx comme HTTP. Dans le protocole HTTP, les méthodes telles que doGet et doPost existent pour les requêtes GET et POST. Dans le protocole SIP, les méthodes doInvite, doAck, doOptions, doBye, doCancel, doRegister, doSubscribe, doNotify, doMessage, doInfo et doPrack existent pour chaque méthode de requête SIP.

Contrairement à un servlet HTTP, les servlets SIP disposent de méthodes pour chaque type de réponse pris en charge. Ainsi, les servlets SIP comprennent les réponses doProvisionalResponse, doSuccessResponse, doRedirectResponse et doErrorResponse. Plus particulièrement, les réponses provisoires (réponses 1xx) indiquent l'état, les réponses réussies (réponses 2xx) indiquent que l'exécution de la transaction a réussi, les réponses redirigées (réponses 3xx) permettent de rediriger le client vers une ressource ou une entité déplacée et les réponses d'erreur (réponses 4xx, 5xx et 6xx) indiquent un échec ou une erreur spécifique. Ces types de message de réponse sont identiques à ceux du protocole HTTP, mais le modèle de programmation de servlet SIP comprenant un modèle de programmation client, il est nécessaire que les réponses soient aussi gérées par l'intermédiaire d'un programme.

Clarifications de JSR 116

JSR 289 a apporté les clarifications suivantes à JSR 116 :
  • JSR 289 Section 4.1.3 : Zone d'en-tête de contact
  • JSR 289 Section 5.2 : Etat de transaction implicite
  • JSR 289 Section 5.8 : Accessibiité des messages de servlet SIP

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csip_servlet
Nom du fichier : csip_servlet.html