WAS v8.5 > Reference > Developer examplesExample: 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 { System.out.println(req.getMethod()+” Request from “+req.getFrom().getDisplayName()); super.doRequest(req);} public void doResponse(SipServletResponse resp) throws ServletException, java.io.IOException { System.out.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>
Related
Browse all SIP topics
SIP servlets
Reference:
SIP SipServletRequest and SipServletResponse classes
SIP SipSession and SipApplicationSession classes
Example: SIP servlet simple proxy
Example: SIP servlet SendOnServlet class