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


Example: SIP servlet SendOnServlet class

The SendOnServlet class is a simple SIP servlet that would perform the basic function of being called on each INVITE and sending the request on from there.


SendOnServlet class

Function could easily be inserted to log this invite request or reject the INVITE based on some specific criteria.

package com.example;
import java.io.IOException;
import javax.servlet.sip.*;
import java.servlet.ServletException;
public class SendOnServlet extends SipServlet {
  public void doInvite(SipServletRequest req)
       throws ServletException, java.io.IOException {

    //send on the request
     req.getProxy().proxyTo(req.getRequestURI);
  }
}

The doInvite method could be altered to do something such as reject the invite for some specific criteria simply. In the example doInvite method below, all requests from domains outside of example.com will be rejected with a Forbidden response.

   public void doInvite(SipServletRequest req)
throws ServletException, java.io.IOException {
if (req.getFrom().getURI().isSipURI()){
    SipURI uri = (SipURI)req.getFrom.getURI();
    if (!uri.getHost().equals(“example.com”)) {
  //send forbidden response for calls outside domain
req.createResponse(SipServletResponse.SC_FORBIDDEN, “Calls outside example.com not accepted”).send();
return;
    }
 }
 //proxy all other requests on to their original destination
 req.getProxy().proxyTo(req.getRequestURI());



SendOnServlet deployment descriptor:

<sip-app>
<display-name>Send-on Servlet
</display-name>
<servlet>  
<servlet-name>SendOnServlet
</servlet-name>  
<servlet-class>com.example.SendOnServlet
</servlet-class>
</servlet>

<servlet-mapping>  
<servlet-name>SendOnServlet
</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 Proxy servlet class

+

Search Tips   |   Advanced Search