Classes SipServletRequest et SipServletResponse SIP

Les classes SipServletRequest et SipServletResponse sont similaires aux classes HttpServletRequest et HttpServletResponse.

Classes SipServletRequest et SipServletResponse

Chaque classe vous permet d'accéder aux en-têtes des messages SIP et de les manipuler. En raison de la nature asynchrone des requêtes et des réponses, cette classe est également l'espace de création de nouvelles réponses pour les requêtes. Lorsque vous étendez la méthode doInvite, seule la classe SipServletRequest est transmise à la méthode. Pour envoyer une réponse au client, vous devez appeler la méthode createResponse sur l'objet Request afin de créer une réponse. Exemple :

protected void doInvite(SipServletRequest req) throws
 javax.servlet.ServletException, java.io.IOException {
	
	//renvoyer une réponse Trying provisoire
	SipServletResponse resp = req.createResponse(100);
resp.send();

En raison de leur nature asynchrone, les servlets SIP peuvent sembler compliqués. Cependant, un exemple de code aussi simple que celui donné ci-dessus envoie une réponse à un client.

Voici un exemple plus complexe d'un servlet SIP. Avec la méthode suivante incluse dans un servlet SIP, le servlet bloque tous les appels qui ne proviennent pas du domaine example.com.

protected void doInvite(SipServletRequest req) throws
 javax.servlet.ServletException, java.io.IOException {

//vérifier que l'URI est un URI SIP
	     if (req.getFrom().getURI().isSipURI()){
                 SipURI uri = (SipURI)req.getFrom.getURI();
                 if (!uri.getHost().equals("example.com")) {
                    //envoyer un réponse forbidden pour les appels hors du domaine
                    req.createResponse(SipServletResponse.SC_FORBIDDEN).send();
                    return;
                 }
              }
              //proxy toutes les requêtes sur leur destination originale
              req.getProxy().proxyTo(req.getRequestURI);
        }

Icône indiquant le type de rubrique Rubrique de référence



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=rsip_servclass1
Nom du fichier : rsip_servclass1.html