Clases de SIP SipServletRequest y SipServletResponse

Las clases SipServletRequest y SipServletResponse son similares a las clases HttpServletRequest y HttpServletResponse.

Clases SipServletRequest y SipServletResponse

Cada clase le proporciona la posibilidad de acceder a las cabeceras del mensaje SIP y manipularlas. Debido a la naturaleza asíncrona de las solicitudes y respuestas, esta clase también es el lugar para crear nuevas respuestas para las solicitudes. Cuando amplía el método doInvite, sólo se pasa la clase SipServletRequest al método. Para enviar una respuesta al cliente, debe llamar al método createResponse en el objeto Request para crear una respuesta. Por ejemplo:

protected void doInvite(SipServletRequest req) throws
 javax.servlet.ServletException, java.io.IOException {
	
		//devolver una respuesta Trying provisional
		SipServletResponse resp = req.createResponse(100);
resp.send();

Debido a su naturaleza asíncrona, los servlets SIP pueden parecer complicados. No obstante, algo tan sencillo como el código de ejemplo anterior envía una respuesta a un cliente.

El siguiente es un ejemplo más complejo de un servlet SIP. Con el método siguiente incluido en un servlet SIP, el servlet bloquea todas las llamadas que no proceden del dominio example.com.

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

//comprobar si el URI es un URI de SIP
	     if (req.getFrom().getURI().isSipURI()){
                 	   SipURI uri = (SipURI)req.getFrom.getURI();
                 if (!uri.getHost().equals("example.com")) {
                    //enviar respuesta prohibida para llamadas fuera del dominio
                    req.createResponse(SipServletResponse.SC_FORBIDDEN).send();
                    return;
                 }
              }
              //enviar mediante proxy las otras solicitudes a su destino original
              req.getProxy().proxyTo(req.getRequestURI);
        }

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsip_servclass1
File name: rsip_servclass1.html