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 { 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>
Browse all SIP topics SIP servlets SIP SipServletRequest and SipServletResponse classes SIP SipSession and SipApplicationSession classes Example: SIP servlet simple proxy Example: SIP servlet SendOnServlet class