com.ibm.xdms.sip.servlet
Class CoreXdmSipServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.sip.SipServlet
          extended by com.ibm.xdms.sip.servlet.CoreXdmSipServlet
All Implemented Interfaces:
SipConstants, java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig
Direct Known Subclasses:
RlsXdmSipServlet

public class CoreXdmSipServlet
extends javax.servlet.sip.SipServlet
implements SipConstants

See Also:
Serialized Form

Field Summary
static java.lang.String COPYRIGHT
           
protected  SipFilterHolder filterHolder
          Filter Holder
static java.lang.String PROPERTY_SIP_RESPOND_PENDING
           
protected  SipSubscribeHelper sipSubscribeHelper
           
protected  XcapCaps xcapCaps
           
protected  java.lang.String xcapRoot
           
protected  XMLUtilsPool xmlUtilsPool
           
 
Fields inherited from class javax.servlet.sip.SipServlet
SIP_FACTORY, SUPPORTED, TIMER_SERVICE
 
Fields inherited from interface com.ibm.xdms.sip.SipConstants
APP_SESSION_ATTR_ACCEPT_HEADER, APP_SESSION_ATTR_DOC_SELECTOR, APP_SESSION_ATTR_EVENT_HEADER, APP_SESSION_ATTR_EXPIRES, APP_SESSION_ATTR_LAST_ETAG_NOTIFIED, APP_SESSION_ATTR_P_ASSERTED_IDENTITY, APP_SESSION_ATTR_P_CHARGING_FUNCTION_ADDRESSES, APP_SESSION_ATTR_P_CHARGING_VECTOR, APP_SESSION_ATTR_REQUEST_URI, CONTENT_TYPE_MSG_EXTERNAL_BODY, CONTENT_TYPE_XCAP_DIFF, DEBUG, EVENT_UA_PROFILE, HEADER_ACCEPT, HEADER_ACCEPT_CONTACT, HEADER_EVENT, HEADER_P_ASSERTED_IDENTITY, HEADER_P_CHARGING_FUNCTION_ADDRESSES, HEADER_P_CHARGING_VECTOR, HEADER_SUBSCRIPTION_STATE, MESSAGE_SC_ACCEPTED, REQ_ATTR_DOCUMENT_ETAG, REQ_ATTR_EVENT_HEADER, REQ_ATTR_EXPIRES_HEADER, REQ_ATTR_NOTIFY_REQUEST, REQ_ATTR_TO_URI_HEADER, SESSION_TYPE_SUBSCRIBE, SIP_METHOD_NOTIFY, SIP_SESSION_ATTR_SESSION_TYPE, SUBSCRIPTION_STATE_ACTIVE, SUBSCRIPTION_STATE_ACTIVE_WITH_EXPIRES, SUBSCRIPTION_STATE_PENDING, SUBSCRIPTION_STATE_TERMINATED_DEACTIVATED, SUBSCRIPTION_STATE_TERMINATED_GIVEUP, SUBSCRIPTION_STATE_TERMINATED_NORESOURCE, SUBSCRIPTION_STATE_TERMINATED_PROBATION, SUBSCRIPTION_STATE_TERMINATED_REJECTED, SUBSCRIPTION_STATE_TERMINATED_TIMEOUT
 
Constructor Summary
CoreXdmSipServlet()
           
 
Method Summary
 void destroy()
           
protected  void doErrorResponse(javax.servlet.sip.SipServletResponse resp)
           
protected  void doSubscribe(javax.servlet.sip.SipServletRequest req)
           
protected  void doSuccessResponse(javax.servlet.sip.SipServletResponse resp)
           
protected  EventHeader getEventHeader(javax.servlet.sip.SipServletRequest req, javax.servlet.sip.SipServletResponse resp)
          Returns the EventHeader for the SipServletRequest
protected  java.lang.String getRequestURI(javax.servlet.sip.SipServletRequest req)
          Get the Request URI to use.
 void init()
           
 void init(javax.servlet.ServletConfig arg0)
           
protected  boolean isGlobalIndex(java.lang.String documentUri, java.lang.String auid)
          Determine if a document uri is pointing to a global index
 
Methods inherited from class javax.servlet.sip.SipServlet
doAck, doBye, doCancel, doInfo, doInvite, doMessage, doNotify, doOptions, doPrack, doProvisionalResponse, doPublish, doRedirectResponse, doRegister, doRequest, doResponse, getServletConfig, getServletContext, log, log, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletInfo, getServletName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT

PROPERTY_SIP_RESPOND_PENDING

public static final java.lang.String PROPERTY_SIP_RESPOND_PENDING
See Also:
Constant Field Values

filterHolder

protected transient SipFilterHolder filterHolder
Filter Holder


xcapCaps

protected transient XcapCaps xcapCaps

xmlUtilsPool

protected transient XMLUtilsPool xmlUtilsPool

xcapRoot

protected transient java.lang.String xcapRoot

sipSubscribeHelper

protected transient SipSubscribeHelper sipSubscribeHelper
Constructor Detail

CoreXdmSipServlet

public CoreXdmSipServlet()
Method Detail

getRequestURI

protected java.lang.String getRequestURI(javax.servlet.sip.SipServletRequest req)
Get the Request URI to use. To handle situations where the CSCF will use the "Contact" header to indicate a different Request URI contact address, we need to store the original Request URI in the session to return back fo consistent handling of Subscribe requests.

Parameters:
req - The current SipServletRequest
Returns:
Returns the Request URI to use for this request

init

public void init()
          throws javax.servlet.ServletException
Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException

getEventHeader

protected EventHeader getEventHeader(javax.servlet.sip.SipServletRequest req,
                                     javax.servlet.sip.SipServletResponse resp)
                              throws XdmsException
Returns the EventHeader for the SipServletRequest

Parameters:
req - The SipServletRequest
resp - The SipServletResponse
Returns:
Returns the EventHeader for the SipServletRequest
Throws:
XdmsException

isGlobalIndex

protected boolean isGlobalIndex(java.lang.String documentUri,
                                java.lang.String auid)
Determine if a document uri is pointing to a global index

Parameters:
documentUri -
auid -
Returns:
true if documentUri is {AUID/}global/index{/...} and there is a globalIndexNodeSelector for this AUID

doSubscribe

protected void doSubscribe(javax.servlet.sip.SipServletRequest req)
                    throws javax.servlet.ServletException,
                           java.io.IOException
Overrides:
doSubscribe in class javax.servlet.sip.SipServlet
Throws:
javax.servlet.ServletException
java.io.IOException

doSuccessResponse

protected void doSuccessResponse(javax.servlet.sip.SipServletResponse resp)
                          throws javax.servlet.ServletException,
                                 java.io.IOException
Overrides:
doSuccessResponse in class javax.servlet.sip.SipServlet
Throws:
javax.servlet.ServletException
java.io.IOException

doErrorResponse

protected void doErrorResponse(javax.servlet.sip.SipServletResponse resp)
                        throws javax.servlet.ServletException,
                               java.io.IOException
Overrides:
doErrorResponse in class javax.servlet.sip.SipServlet
Throws:
javax.servlet.ServletException
java.io.IOException

destroy

public void destroy()
Specified by:
destroy in interface javax.servlet.Servlet
Overrides:
destroy in class javax.servlet.GenericServlet

init

public void init(javax.servlet.ServletConfig arg0)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.sip.SipServlet
Throws:
javax.servlet.ServletException