Network Deployment (Distributed operating systems), v8.0 > Reference > Developer examples


Example: SIP servlet Proxy servlet class


Proxy servlet class

After the initial INVITE, this application will be called on every subsequent SIP message. For each Request and Response, this class will simply print out the action and who it is to or from.

package com.example;
import java.io.IOException;
import javax.servlet.sip.*;
import java.servlet.ServletException;
public class ProxyServlet extends SipServlet {
  public void doInvite(SipServletRequest req)
       throws ServletException, java.io.IOException {
     //get the Proxy
     Proxy p=req.getProxy();
     //turn on supervised mode so that all events come through us
     //The default on this is true but it is set to emphasize the function.
     p.setSupervised(true);
     //set record route so we see the ACK, BYE, and OK
     p.setRecordRoute(true);

    //proxy on the request
     p.proxyTo(req.getRequestURI());
  }
public void doRequest(SipServletRequest req)
     throws ServletException, java.io.IOException {
   .println(req.getMethod()+” Request from “+req.getFrom().getDisplayName());
   super.doRequest(req);
}
public void doResponse(SipServletResponse resp)
     throws ServletException, java.io.IOException {
   .println(resp.getReasonPhrase()+” Response from “+resp.getTo().getDisplayName());
   super.doResponse(resp);
}
}

Proxy deployment descriptor

<sip-app>
<display-name>ProxyServlet
</display-name>
<servlet>  
<servlet-name>ProxyServlet
</servlet-name>  
<servlet-class>com.example.ProxyServlet
</servlet-class>
</servlet>

<servlet-mapping>  
<servlet-name>ProxyServlet
</servlet-name>  
<pattern>        
<equal>          
<var>request.method
</var>          
<value>INVITE
</value>        
</equal>  
</pattern>
</servlet-mapping>
</sip-app>

Browse all SIP topics
SIP servlets


Related


SIP SipServletRequest and SipServletResponse classes
SIP SipSession and SipApplicationSession classes
Example: SIP servlet simple proxy
Example: SIP servlet SendOnServlet class

+

Search Tips   |   Advanced Search