Réception de messages sans correspondance SIP sous Liberty

Utilisez l'API UnmatchedMessageListener pour recevoir des messages entrants de demande ou de réponse SIP (Session Initiation Protocol) que le conteneur SIP ne peut pas traiter.

Avant de commencer

Dans votre fichier server.xml, installez et configurez la fonction sipServlet-1.1. Pour plus d'informations, voir Administration du protocole SIP sous Liberty.

Pourquoi et quand exécuter cette tâche

Le conteneur SIP fournit une interface permettant à une application de recevoir tous les messages entrants de demande ou de réponse qui ne peuvent pas être mis en correspondance avec une boîte de dialogue existante. Tout message de demande ou de réponse qui ne correspond pas à une boîte de dialogue existante est appelé message sans correspondance.

Une demande sans correspondance est une demande qui comporte des balises To et From, mais pour laquelle aucune boîte de dialogue ne figure dans le conteneur SIP car elle n'a jamais été créée ou bien elle est à un état non valide. quand une demande entrante sans correspondance est reçue par le conteneur SIP, celui-ci répond par une réponse 481 Call/Transaction Does Not Exist, puis transmet la demande entrante à la classe de programme d'écoute. La demande entrante est transmise comme partie de l'événement UnmatchedRequestEvent, lequel est défini dans le package com.ibm.websphere.sip.unmatchedMessages.events. L'événement contient une interface pour obtenir la demande entrante sans correspondance et le contexte ServletContext lié à l'application qui reçoit l'événement. L'application peut utiliser le contexte ServletContext pour créer une activité SIP. Le programme d'écoute ne peut pas créer de réponse pour la demande sans correspondance reçue ou passer la demande par un proxy. Quand cette condition se produit, une exception IllegalStateException est générée dans le conteneur SIP.

Une réponse sans correspondance est une réponse reçue dans le conteneur SIP qui ne correspond à aucune demande sortante. Avant que le conteneur SIP ne supprime la réponse sans correspondance, celle-ci est envoyée au programme d'écoute UnmatchedMessageListener comme partie de l'événement UnmatchedResponseEvent. De la même façon que pour la demande sans correspondance, l'application accède à la réponse sans correspondance et au contexte ServletContext de l'application associée.

Si une application comporte plusieurs programmes d'écoute UnmatchedMessageListener définis, chacun d'eux est démarré indépendamment des autres. Si vous possédez plusieurs applications sur un serveur d'applications unique et que plusieurs applications possèdent des programmes d'écoute UnmatchedMessageListener, tous les programmes sont démarrés dans un ordre aléatoire. Si une application envoie une demande à une autre application sur le même serveur dans le cadre d'une composition d'applications, et si le conteneur SIP détermine que cette réponse est une demande qui ne peut pas être gérée par le conteneur SIP, tous les programmes d'écoute UnmatchedMessageListener sur ce serveur sont activés.

L'API UnmatchedMessageListener est définie dans le fichier com.ibm.websphere.appserver.api.sipServlet du package com.ibm.websphere.sip.unmatchedMessages.

Procédure

Vous pouvez utiliser l'une des méthodes suivantes du code d'application pour accéder à l'API UnmatchedMessageListener :


Icône indiquant le type de rubrique Rubrique Tâche



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