| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
   GenericServlet
GenericServlet
       javax.servlet.sip.SipServlet
javax.servlet.sip.SipServlet
public abstract class SipServlet
Provides an abstract class to be subclassed to create a SIP servlet.
This class receives incoming messages through the service method. This method calls doRequest or doResponse for incoming requests and responses, respectively. These two methods in turn dispatch on request method or status code to one of the following methods:
doInvite - for SIP INVITE requestsdoAck - for SIP ACK requestsdoOptions - for SIP OPTIONS requestsdoBye - for SIP BYE requestsdoCancel - for SIP CANCEL requestsdoRegister - for SIP REGISTER requestsdoSubscribe - for SIP SUBSCRIBE requestsdoNotify - for SIP NOTIFY requestsdoMessage - for SIP MESSAGE requestsdoInfo - for SIP INFO requestsdoPrack - for SIP PRACK requestsdoUpdate - for SIP UPDATE requestsdoRefer - for SIP REFER requestsdoPublish - for SIP PUBLISH requestsdoProvisionalResponse - for SIP 1xx informational responsesdoSuccessResponse - for SIP 2xx responsesdoRedirectResponse - for SIP 3xx responsesdoErrorResponse - for SIP 4xx, 5xx, and 6xx responsesThe default implementation of doAck, doCancel and all the response handling methods are empty. All other request handling methods reject the request with a 500 error response.
Subclasses of SipServlet will usually override one or more of these methods.
| Field Summary | |
|---|---|
| static java.lang.String | OUTBOUND_INTERFACESThe string "javax.servlet.sip.outboundInterfaces". | 
| static java.lang.String | PRACK_SUPPORTEDDeprecated. in favor of using the "javax.servlet.sip.supported" attribute | 
| static java.lang.String | SIP_FACTORYThe string "javax.servlet.sip.SipFactory". | 
| static java.lang.String | SIP_SESSIONS_UTILThe string "javax.servlet.sip.SipSessionsUtil". | 
| static java.lang.String | SUPPORTEDThe string "javax.servlet.sip.supported". | 
| static java.lang.String | SUPPORTED_RFCsThe string "javax.servlet.sip.supportedRfcs". | 
| static java.lang.String | TIMER_SERVICEThe string "javax.servlet.sip.TimerService". | 
| Constructor Summary | |
|---|---|
| SipServlet() | |
| Method Summary | |
|---|---|
| protected  void | doAck(SipServletRequest req)Invoked by the server (via the service method) to handle incoming ACK requests. | 
| protected  void | doBranchResponse(SipServletResponse resp)Invoked by the server to handle intermediate final responses only if this Servlet behaves as a proxy. | 
| protected  void | doBye(SipServletRequest req)Invoked by the server (via the service method) to handle incoming BYE requests. | 
| protected  void | doCancel(SipServletRequest req)Invoked by the server (via the service method) to handle incoming CANCEL requests. | 
| protected  void | doErrorResponse(SipServletResponse resp)Invoked by the server (via the doResponse method) to handle incoming 4xx - 6xx class responses. | 
| protected  void | doInfo(SipServletRequest req)Invoked by the server (via the service method) to handle incoming INFO requests. | 
| protected  void | doInvite(SipServletRequest req)Invoked by the server (via the service method) to handle incoming INVITE requests. | 
| protected  void | doMessage(SipServletRequest req)Invoked by the server (via the service method) to handle incoming MESSAGE requests. | 
| protected  void | doNotify(SipServletRequest req)Invoked by the server (via the service method) to handle incoming NOTIFY requests. | 
| protected  void | doOptions(SipServletRequest req)Invoked by the server (via the service method) to handle incoming OPTIONS requests. | 
| protected  void | doPrack(SipServletRequest req)Invoked by the server (via the service method) to handle incoming PRACK requests. | 
| protected  void | doProvisionalResponse(SipServletResponse resp)Invoked by the server (via the doResponse method) to handle incoming 1xx class responses. | 
| protected  void | doPublish(SipServletRequest req)Invoked by the server (via the service method) to handle incoming PUBLISH requests. | 
| protected  void | doRedirectResponse(SipServletResponse resp)Invoked by the server to notify the servlet of incoming 3xx class responses. | 
| protected  void | doRefer(SipServletRequest req)Invoked by the server (via the service method) to handle incoming REFER requests. | 
| protected  void | doRegister(SipServletRequest req)Invoked by the server (via the service method) to handle incoming REGISTER requests. | 
| protected  void | doRequest(SipServletRequest req)Invoked to handle incoming requests. | 
| protected  void | doResponse(SipServletResponse resp)Invoked to handle incoming responses. | 
| protected  void | doSubscribe(SipServletRequest req)Invoked by the server (via the service method) to handle incoming SUBSCRIBE requests. | 
| protected  void | doSuccessResponse(SipServletResponse resp)Invoked by the server (via the doResponse method) to handle incoming 2xx class responses. | 
| protected  void | doUpdate(SipServletRequest req)Invoked by the server (via the service method) to handle incoming UPDATE requests. | 
|  void | log(java.lang.String message)Writes the specified message to a servlet log file. | 
|  void | log(java.lang.String message, java.lang.Throwable t)Writes an explanatory message and a stack trace for a given Throwableexception to the servlet log file. | 
|  void | service(ServletRequest req, ServletResponse resp)Invoked to handle incoming SIP messages: requests or responses. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final java.lang.String SIP_FACTORY
ServletContext attribute whose value is an instance of the SipFactory interface.
SipFactory, Constant Field Valuespublic static final java.lang.String TIMER_SERVICE
ServletContext attribute whose value is an instance of the TimerService interface.
TimerService, Constant Field Valuespublic static final java.lang.String SUPPORTED
ServletContext attribute whose value is a List containing the names of SIP extensions supported by the container.
public static final java.lang.String SUPPORTED_RFCs
ServletContext attribute whose value is a List containing the RFC numbers represented as Strings of SIP RFCs supported by the container. For e.g., if the container supports RFC 3261, RFC 3262 and RFC 3265, the List associated with this attribute should contain the Strings "3261", "3262" and "3265".
public static final java.lang.String OUTBOUND_INTERFACES
ServletContext attribute whose value is a list of SipURI objects which represent the available outbound interfaces for sending SIP requests. On a multihomed machine, a specific outbound interface can be selected for sending requests by calling the the SipSession.setOutboundInterface(java.net.InetSocketAddress) or Proxy.setOutboundInterface(java.net.InetSocketAddress) with an available interface address chosen from this list.
public static final java.lang.String SIP_SESSIONS_UTIL
ServletContext attribute whose value is the @{link Sessions} utility class providing support for converged SIP/HTTP applications.
public static final java.lang.String PRACK_SUPPORTED
ServletContext attribute whose value suggests whether the container supports the 100rel extension i.e. RFC 3262.
| Constructor Detail | 
|---|
public SipServlet()
| Method Detail | 
|---|
public void service(ServletRequest req,
                    ServletResponse resp)
             throws ServletException,
                    java.io.IOException
This method dispatched to doRequest() or doResponse() as appropriate. Servlets will not usually need to override this method.
req - the request to handle, or null if the triggering event was an incoming responseresp - incoming response or null if the triggering event was an incoming requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doRequest(SipServletRequest req)
                  throws ServletException,
                         java.io.IOException
req - represents the incoming SIP requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doInvite(SipServletRequest req)
                 throws ServletException,
                        java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP INVITE requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doAck(SipServletRequest req)
              throws ServletException,
                     java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP ACK requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doOptions(SipServletRequest req)
                  throws ServletException,
                         java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP OPTIONS requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doBye(SipServletRequest req)
              throws ServletException,
                     java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP BYE requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doCancel(SipServletRequest req)
                 throws ServletException,
                        java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP CANCEL requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doRegister(SipServletRequest req)
                   throws ServletException,
                          java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP REGISTER requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doSubscribe(SipServletRequest req)
                    throws ServletException,
                           java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP SUBSCRIBE requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doNotify(SipServletRequest req)
                 throws ServletException,
                        java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP NOTIFY requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doMessage(SipServletRequest req)
                  throws ServletException,
                         java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP MESSAGE requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doInfo(SipServletRequest req)
               throws ServletException,
                      java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP INFO requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doPrack(SipServletRequest req)
                throws ServletException,
                       java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP PRACK requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doUpdate(SipServletRequest req)
                 throws ServletException,
                        java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP UPDATE requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doRefer(SipServletRequest req)
                throws ServletException,
                       java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP REFER requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doPublish(SipServletRequest req)
                  throws ServletException,
                         java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
req - represents the incoming SIP PUBLISH requestServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doResponse(SipServletResponse resp)
                   throws ServletException,
                          java.io.IOException
doProvisionalResponse(), doSuccessResponse(), doBranchResponse(), doRedirectResponse() or doErrorResponse().
Intermediate final responses received on a ProxyBranch are dispatched to doBranchResponse(javax.servlet.sip.SipServletResponse). To handle such responses override the doBranchResponse. Servlets will not usually need to override this method.
resp - the response objectServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occursSipServletResponse.isBranchResponse()
protected void doProvisionalResponse(SipServletResponse resp)
                              throws ServletException,
                                     java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
resp - the response objectServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doSuccessResponse(SipServletResponse resp)
                          throws ServletException,
                                 java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
resp - the response objectServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doRedirectResponse(SipServletResponse resp)
                           throws ServletException,
                                  java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
resp - the response objectServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doErrorResponse(SipServletResponse resp)
                        throws ServletException,
                               java.io.IOException
The default implementation is empty and must be overridden by subclasses to do something useful.
resp - the response objectServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurs
protected void doBranchResponse(SipServletResponse resp)
                         throws ServletException,
                                java.io.IOException
The default implementation is empty and must be overridden by subclasses to handle intermediate final responses received on a ProxyBranch.
resp - the response objectServletException - if an exception occurs that interferes with the servlet's normal operationjava.io.IOException - if an input or output exception occurspublic void log(java.lang.String message)
message - a String specifying the message to be written to the log file
public void log(java.lang.String message,
                java.lang.Throwable t)
Throwable exception to the servlet log file. See ServletContext#log(String, Throwable).message - a String that describes the error or exceptiont - the java.lang.Throwable error or exception| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
 Copyright 1996, 2010, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Java SIP Servlet API 1.1 Reference
Part Number E17883-01