org.mobicents.servlet.sip.core
Class SipApplicationDispatcherImpl

java.lang.Object
  extended by org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl
All Implemented Interfaces:
gov.nist.javax.sip.SipListenerExt, java.util.EventListener, javax.management.MBeanRegistration, javax.sip.SipListener, org.mobicents.ha.javax.sip.LoadBalancerHeartBeatingListener, SipApplicationDispatcher

public class SipApplicationDispatcherImpl
extends java.lang.Object
implements SipApplicationDispatcher, javax.management.MBeanRegistration, org.mobicents.ha.javax.sip.LoadBalancerHeartBeatingListener

Implementation of the SipApplicationDispatcher interface. Central point getting the sip messages from the different stacks for a Tomcat Service(Engine), translating jain sip SIP messages to sip servlets SIP messages, creating a MessageRouter responsible for choosing which Dispatcher will be used for routing the message and dispatches the messages.

Author:
Jean Deruelle

Nested Class Summary
 class SipApplicationDispatcherImpl.CongestionControlTimerTask
          Timer task that will gather information about congestion control
 
Field Summary
protected  java.util.concurrent.ScheduledFuture congestionControlTimerFuture
           
protected  SipApplicationDispatcherImpl.CongestionControlTimerTask congestionControlTimerTask
           
protected  java.lang.String domain
           
protected  javax.management.MBeanServer mserver
           
protected  javax.management.ObjectName oname
           
protected  javax.sip.SipStack sipStack
           
 
Constructor Summary
SipApplicationDispatcherImpl()
           
 
Method Summary
 void addHostName(java.lang.String hostName)
          Add a new hostname to the application dispatcher.
 void addSipApplication(java.lang.String sipApplicationName, SipContext sipApplication)
          Add a new sip application to which sip messages can be routed
 java.util.Set<java.lang.String> findHostNames()
          Returns An immutable instance of the java.util.List interface containing the sip application dispatcher registered host names
 java.lang.String[] findInstalledSipApplications()
           
 SipContext findSipApplication(java.lang.String applicationName)
          Find the sip application to which sip messages can currently be routed by its name
 java.util.Iterator<SipContext> findSipApplications()
          Serialize the state info in memory and deserialize it and return the new object.
 java.lang.String getApplicationNameFromHash(java.lang.String hash)
           
 java.util.concurrent.ThreadPoolExecutor getAsynchronousExecutor()
           
 int getBackToNormalMemoryThreshold()
           
 int getBackToNormalQueueSize()
           
 int getBaseTimerInterval()
           
 ConcurrencyControlMode getConcurrencyControlMode()
           
 long getCongestionControlCheckingInterval()
           
 CongestionControlPolicy getCongestionControlPolicy()
           
 java.lang.String getDomain()
           
 java.lang.String[] getExtensionsSupported()
           
 boolean getGatherStatistics()
          PRESENT TO ACCOMODATE JOPR.
 java.lang.String getHashFromApplicationName(java.lang.String appName)
           
 int getMemoryThreshold()
           
 SipApplicationRouterInfo getNextInterestedApplication(SipServletRequestImpl sipServletRequest)
           
 int getNumberOfMessagesInQueue()
           
 int getNumberOfPendingMessages()
           
 javax.management.ObjectName getObjectName()
           
 java.util.List<SipURI> getOutboundInterfaces()
          Returns An immutable instance of the java.util.List interface containing the SipURI representation of IP addresses which are used by the container to send out the messages.
 double getPercentageOfMemoryUsed()
           
 int getQueueSize()
           
 long getRequestsProcessed()
           
 java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicLong> getRequestsProcessedByMethod()
           
 long getRequestsProcessedByMethod(java.lang.String method)
           
 long getResponsesProcessed()
           
 java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicLong> getResponsesProcessedByStatusCode()
           
 long getResponsesProcessedByStatusCode(java.lang.String statusCode)
           
 java.lang.String[] getRfcSupported()
           
 SipApplicationRouter getSipApplicationRouter()
           
 SipFactoryImpl getSipFactory()
          retrieve the sip factory
 SipNetworkInterfaceManager getSipNetworkInterfaceManager()
          Retrieve the manager for the sip network interfaces for this application dispatcher
 javax.sip.SipStack getSipStack()
           
 int getT2Interval()
           
 int getT4Interval()
           
 int getTimerDInterval()
           
 void init()
          Initialize the sip application dispatcher.
 boolean isBypassRequestExecutor()
           
 boolean isBypassResponseExecutor()
           
 boolean isExternal(java.lang.String host, int port, java.lang.String transport)
          Check whether or not the triplet host, port and transport are corresponding to an interface
 boolean isGatherStatistics()
           
 boolean isRouteExternal(javax.sip.header.RouteHeader routeHeader)
          Check if the route is external
 boolean isViaHeaderExternal(javax.sip.header.ViaHeader viaHeader)
          Check if the via header is external
 void loadBalancerAdded(org.mobicents.ha.javax.sip.SipLoadBalancer sipLoadBalancer)
           
 void loadBalancerRemoved(org.mobicents.ha.javax.sip.SipLoadBalancer sipLoadBalancer)
           
 void postDeregister()
           
 void postRegister(java.lang.Boolean registrationDone)
           
 void preDeregister()
           
 javax.management.ObjectName preRegister(javax.management.MBeanServer server, javax.management.ObjectName name)
           
 void processDialogTerminated(javax.sip.DialogTerminatedEvent dialogTerminatedEvent)
           
 void processDialogTimeout(gov.nist.javax.sip.DialogTimeoutEvent timeoutEvent)
           
 void processIOException(javax.sip.IOExceptionEvent event)
           
 void processRequest(javax.sip.RequestEvent requestEvent)
           
 void processResponse(javax.sip.ResponseEvent responseEvent)
           
 void processTimeout(javax.sip.TimeoutEvent timeoutEvent)
           
 void processTransactionTerminated(javax.sip.TransactionTerminatedEvent transactionTerminatedEvent)
           
 void removeHostName(java.lang.String hostName)
          Remove the hostname from the application dispatcher.
 SipContext removeSipApplication(java.lang.String sipApplicationName)
          Remove a sip application to which sip messages can be routed
 java.lang.Object retrieveApplicationRouterConfiguration()
           
 void sendSwitchoverInstruction(java.lang.String fromJvmRoute, java.lang.String toJvmRoute)
           
 void setBackToNormalMemoryThreshold(int backToNormalMemoryThreshold)
           
 void setBackToNormalQueueSize(int backToNormalQueueSize)
           
 void setBaseTimerInterval(int baseTimerInterval)
           
 void setBypassRequestExecutor(boolean bypassRequestExecutor)
           
 void setBypassResponseExecutor(boolean bypassResponseExecutor)
           
 void setConcurrencyControlMode(ConcurrencyControlMode concurrencyControlMode)
           
 void setConcurrencyControlModeByName(java.lang.String concurrencyControlMode)
           
 void setCongestionControlCheckingInterval(long congestionControlCheckingInterval)
           
 void setCongestionControlPolicy(CongestionControlPolicy congestionControlPolicy)
           
 void setCongestionControlPolicyByName(java.lang.String congestionControlPolicy)
           
 void setDomain(java.lang.String domain)
           
 void setGatherStatistics(boolean skipStatistics)
           
 void setMemoryThreshold(int memoryThreshold)
           
 void setQueueSize(int queueSize)
           
 void setSipApplicationRouter(SipApplicationRouter sipApplicationRouter)
           
 void setSipStack(javax.sip.SipStack sipStack)
           
 void setT2Interval(int t2Interval)
           
 void setT4Interval(int t4Interval)
           
 void setTimerDInterval(int timerDInterval)
           
 void start()
          Start the sip application dispatcher
protected  void startSipStack()
           
 void stop()
          Stop the sip application dispatcher
protected  void stopSipStack()
           
 void updateApplicationRouterConfiguration(java.lang.Object configuration)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sipStack

protected javax.sip.SipStack sipStack

congestionControlTimerTask

protected transient SipApplicationDispatcherImpl.CongestionControlTimerTask congestionControlTimerTask

congestionControlTimerFuture

protected transient java.util.concurrent.ScheduledFuture congestionControlTimerFuture

domain

protected java.lang.String domain

oname

protected javax.management.ObjectName oname

mserver

protected javax.management.MBeanServer mserver
Constructor Detail

SipApplicationDispatcherImpl

public SipApplicationDispatcherImpl()
Method Detail

init

public void init()
          throws org.apache.catalina.LifecycleException
Initialize the sip application dispatcher.
It will look for the first implementation of an application routerand packaged in accordance with the rules specified by the Java SE Service Provider framework.
It will first look for the javax.servlet.sip.ar.spi.SipApplicationRouterProvider system property since it can be used to override loading behavior. See JSR 289 Section 15.4.2 Application Router Packaging and Deployment for more information

Specified by:
init in interface SipApplicationDispatcher
Throws:
org.apache.catalina.LifecycleException - The Sip Application Router cannot be initialized correctly

start

public void start()
Start the sip application dispatcher

Specified by:
start in interface SipApplicationDispatcher

stop

public void stop()
Stop the sip application dispatcher

Specified by:
stop in interface SipApplicationDispatcher

addSipApplication

public void addSipApplication(java.lang.String sipApplicationName,
                              SipContext sipApplication)
Add a new sip application to which sip messages can be routed

Specified by:
addSipApplication in interface SipApplicationDispatcher
Parameters:
sipApplicationName - the sip application logical name
sipApplication - the sip context representing the application

removeSipApplication

public SipContext removeSipApplication(java.lang.String sipApplicationName)
Remove a sip application to which sip messages can be routed

Specified by:
removeSipApplication in interface SipApplicationDispatcher
Parameters:
sipApplicationName - the sip application logical name of the application to remove

processIOException

public void processIOException(javax.sip.IOExceptionEvent event)
Specified by:
processIOException in interface javax.sip.SipListener

getNumberOfPendingMessages

public int getNumberOfPendingMessages()

processRequest

public void processRequest(javax.sip.RequestEvent requestEvent)
Specified by:
processRequest in interface javax.sip.SipListener

processResponse

public void processResponse(javax.sip.ResponseEvent responseEvent)
Specified by:
processResponse in interface javax.sip.SipListener

processDialogTerminated

public void processDialogTerminated(javax.sip.DialogTerminatedEvent dialogTerminatedEvent)
Specified by:
processDialogTerminated in interface javax.sip.SipListener

processDialogTimeout

public void processDialogTimeout(gov.nist.javax.sip.DialogTimeoutEvent timeoutEvent)
Specified by:
processDialogTimeout in interface gov.nist.javax.sip.SipListenerExt

processTimeout

public void processTimeout(javax.sip.TimeoutEvent timeoutEvent)
Specified by:
processTimeout in interface javax.sip.SipListener

processTransactionTerminated

public void processTransactionTerminated(javax.sip.TransactionTerminatedEvent transactionTerminatedEvent)
Specified by:
processTransactionTerminated in interface javax.sip.SipListener

getApplicationNameFromHash

public java.lang.String getApplicationNameFromHash(java.lang.String hash)
Specified by:
getApplicationNameFromHash in interface SipApplicationDispatcher

getHashFromApplicationName

public java.lang.String getHashFromApplicationName(java.lang.String appName)
Specified by:
getHashFromApplicationName in interface SipApplicationDispatcher

isRouteExternal

public final boolean isRouteExternal(javax.sip.header.RouteHeader routeHeader)
Check if the route is external

Specified by:
isRouteExternal in interface SipApplicationDispatcher
Parameters:
routeHeader - the route to check
Returns:
true if the route is external, false otherwise

isViaHeaderExternal

public final boolean isViaHeaderExternal(javax.sip.header.ViaHeader viaHeader)
Check if the via header is external

Specified by:
isViaHeaderExternal in interface SipApplicationDispatcher
Parameters:
viaHeader - the via header to check
Returns:
true if the via header is external, false otherwise

isExternal

public final boolean isExternal(java.lang.String host,
                                int port,
                                java.lang.String transport)
Check whether or not the triplet host, port and transport are corresponding to an interface

Specified by:
isExternal in interface SipApplicationDispatcher
Parameters:
host - can be hostname or ipaddress
port - port number
transport - transport used
Returns:
true if the triplet host, port and transport are corresponding to an interface false otherwise

getSipApplicationRouter

public SipApplicationRouter getSipApplicationRouter()
Specified by:
getSipApplicationRouter in interface SipApplicationDispatcher
Returns:
the sipApplicationRouter

setSipApplicationRouter

public void setSipApplicationRouter(SipApplicationRouter sipApplicationRouter)
Parameters:
sipApplicationRouter - the sipApplicationRouter to set

getSipNetworkInterfaceManager

public SipNetworkInterfaceManager getSipNetworkInterfaceManager()
Description copied from interface: SipApplicationDispatcher
Retrieve the manager for the sip network interfaces for this application dispatcher

Specified by:
getSipNetworkInterfaceManager in interface SipApplicationDispatcher
Returns:
the manager for the sip network interfaces for this application dispatcher

getSipFactory

public SipFactoryImpl getSipFactory()
Description copied from interface: SipApplicationDispatcher
retrieve the sip factory

Specified by:
getSipFactory in interface SipApplicationDispatcher
Returns:
the sip factory

getOutboundInterfaces

public java.util.List<SipURI> getOutboundInterfaces()
Description copied from interface: SipApplicationDispatcher
Returns An immutable instance of the java.util.List interface containing the SipURI representation of IP addresses which are used by the container to send out the messages.

Specified by:
getOutboundInterfaces in interface SipApplicationDispatcher
Returns:
immutable List containing the SipURI representation of IP addresses

addHostName

public void addHostName(java.lang.String hostName)
Description copied from interface: SipApplicationDispatcher
Add a new hostname to the application dispatcher. This information is used for the routing algorithm of an incoming Request.

Specified by:
addHostName in interface SipApplicationDispatcher
Parameters:
hostName - the host name

findHostNames

public java.util.Set<java.lang.String> findHostNames()
Description copied from interface: SipApplicationDispatcher
Returns An immutable instance of the java.util.List interface containing the sip application dispatcher registered host names

Specified by:
findHostNames in interface SipApplicationDispatcher
Returns:
An immutable instance of the java.util.List interface containing the sip application dispatcher registered host names

removeHostName

public void removeHostName(java.lang.String hostName)
Description copied from interface: SipApplicationDispatcher
Remove the hostname from the application dispatcher. This information is used for the routing algorithm of an incoming Request.

Specified by:
removeHostName in interface SipApplicationDispatcher
Parameters:
hostName - the host name

getNextInterestedApplication

public SipApplicationRouterInfo getNextInterestedApplication(SipServletRequestImpl sipServletRequest)
Specified by:
getNextInterestedApplication in interface SipApplicationDispatcher
Returns:

getAsynchronousExecutor

public java.util.concurrent.ThreadPoolExecutor getAsynchronousExecutor()
Specified by:
getAsynchronousExecutor in interface SipApplicationDispatcher

findSipApplications

public java.util.Iterator<SipContext> findSipApplications()
Serialize the state info in memory and deserialize it and return the new object. Since there is no clone method this is the only way to get the same object with a new reference

Specified by:
findSipApplications in interface SipApplicationDispatcher
Parameters:
stateInfo - the state info to serialize
Returns:
the state info serialized and deserialized

findSipApplication

public SipContext findSipApplication(java.lang.String applicationName)
Description copied from interface: SipApplicationDispatcher
Find the sip application to which sip messages can currently be routed by its name

Specified by:
findSipApplication in interface SipApplicationDispatcher
Parameters:
applicationName - the name of the application
Returns:
the sip application to which sip messages can currently be routed by its name if it has been find, null otherwise

getObjectName

public javax.management.ObjectName getObjectName()

getDomain

public java.lang.String getDomain()
Specified by:
getDomain in interface SipApplicationDispatcher

setDomain

public void setDomain(java.lang.String domain)
Specified by:
setDomain in interface SipApplicationDispatcher

postDeregister

public void postDeregister()
Specified by:
postDeregister in interface javax.management.MBeanRegistration

postRegister

public void postRegister(java.lang.Boolean registrationDone)
Specified by:
postRegister in interface javax.management.MBeanRegistration

preDeregister

public void preDeregister()
                   throws java.lang.Exception
Specified by:
preDeregister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception

preRegister

public javax.management.ObjectName preRegister(javax.management.MBeanServer server,
                                               javax.management.ObjectName name)
                                        throws java.lang.Exception
Specified by:
preRegister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception

findInstalledSipApplications

public java.lang.String[] findInstalledSipApplications()

retrieveApplicationRouterConfiguration

public java.lang.Object retrieveApplicationRouterConfiguration()

updateApplicationRouterConfiguration

public void updateApplicationRouterConfiguration(java.lang.Object configuration)

getConcurrencyControlMode

public ConcurrencyControlMode getConcurrencyControlMode()
Specified by:
getConcurrencyControlMode in interface SipApplicationDispatcher

setConcurrencyControlMode

public void setConcurrencyControlMode(ConcurrencyControlMode concurrencyControlMode)
Specified by:
setConcurrencyControlMode in interface SipApplicationDispatcher

getQueueSize

public int getQueueSize()
Specified by:
getQueueSize in interface SipApplicationDispatcher

setQueueSize

public void setQueueSize(int queueSize)
Specified by:
setQueueSize in interface SipApplicationDispatcher

setConcurrencyControlModeByName

public void setConcurrencyControlModeByName(java.lang.String concurrencyControlMode)
Specified by:
setConcurrencyControlModeByName in interface SipApplicationDispatcher

getRequestsProcessed

public long getRequestsProcessed()
Returns:
the requestsProcessed

getRequestsProcessedByMethod

public java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicLong> getRequestsProcessedByMethod()
Returns:
the requestsProcessedByMethod

getResponsesProcessedByStatusCode

public java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicLong> getResponsesProcessedByStatusCode()
Returns:
the responsesProcessedByStatusCode

getRequestsProcessedByMethod

public long getRequestsProcessedByMethod(java.lang.String method)
Returns:
the requestsProcessed

getResponsesProcessedByStatusCode

public long getResponsesProcessedByStatusCode(java.lang.String statusCode)

getResponsesProcessed

public long getResponsesProcessed()
Returns:
the requestsProcessed

setCongestionControlCheckingInterval

public void setCongestionControlCheckingInterval(long congestionControlCheckingInterval)
Specified by:
setCongestionControlCheckingInterval in interface SipApplicationDispatcher
Parameters:
congestionControlCheckingInterval - the congestionControlCheckingInterval to set

getCongestionControlCheckingInterval

public long getCongestionControlCheckingInterval()
Specified by:
getCongestionControlCheckingInterval in interface SipApplicationDispatcher
Returns:
the congestionControlCheckingInterval

setCongestionControlPolicy

public void setCongestionControlPolicy(CongestionControlPolicy congestionControlPolicy)
Specified by:
setCongestionControlPolicy in interface SipApplicationDispatcher
Parameters:
congestionControlPolicy - the congestionControlPolicy to set

setCongestionControlPolicyByName

public void setCongestionControlPolicyByName(java.lang.String congestionControlPolicy)
Specified by:
setCongestionControlPolicyByName in interface SipApplicationDispatcher

getCongestionControlPolicy

public CongestionControlPolicy getCongestionControlPolicy()
Specified by:
getCongestionControlPolicy in interface SipApplicationDispatcher
Returns:
the congestionControlPolicy

setMemoryThreshold

public void setMemoryThreshold(int memoryThreshold)
Specified by:
setMemoryThreshold in interface SipApplicationDispatcher
Parameters:
memoryThreshold - the memoryThreshold to set

getMemoryThreshold

public int getMemoryThreshold()
Specified by:
getMemoryThreshold in interface SipApplicationDispatcher
Returns:
the memoryThreshold

getNumberOfMessagesInQueue

public int getNumberOfMessagesInQueue()
Specified by:
getNumberOfMessagesInQueue in interface SipApplicationDispatcher
Returns:
the numberOfMessagesInQueue

getPercentageOfMemoryUsed

public double getPercentageOfMemoryUsed()
Specified by:
getPercentageOfMemoryUsed in interface SipApplicationDispatcher
Returns:
the percentageOfMemoryUsed

setBypassRequestExecutor

public void setBypassRequestExecutor(boolean bypassRequestExecutor)
Specified by:
setBypassRequestExecutor in interface SipApplicationDispatcher
Parameters:
bypassRequestExecutor - the bypassRequestExecutor to set

isBypassRequestExecutor

public boolean isBypassRequestExecutor()
Specified by:
isBypassRequestExecutor in interface SipApplicationDispatcher
Returns:
the bypassRequestExecutor

setBypassResponseExecutor

public void setBypassResponseExecutor(boolean bypassResponseExecutor)
Specified by:
setBypassResponseExecutor in interface SipApplicationDispatcher
Parameters:
bypassResponseExecutor - the bypassResponseExecutor to set

isBypassResponseExecutor

public boolean isBypassResponseExecutor()
Specified by:
isBypassResponseExecutor in interface SipApplicationDispatcher
Returns:
the bypassResponseExecutor

setBaseTimerInterval

public void setBaseTimerInterval(int baseTimerInterval)
Specified by:
setBaseTimerInterval in interface SipApplicationDispatcher
Parameters:
baseTimerInterval - the baseTimerInterval to set

getBaseTimerInterval

public int getBaseTimerInterval()
Specified by:
getBaseTimerInterval in interface SipApplicationDispatcher
Returns:
the baseTimerInterval

setT2Interval

public void setT2Interval(int t2Interval)
Specified by:
setT2Interval in interface SipApplicationDispatcher
Parameters:
t2Interval - the t2Interval to set

getT2Interval

public int getT2Interval()
Specified by:
getT2Interval in interface SipApplicationDispatcher
Returns:
the t2Interval

setT4Interval

public void setT4Interval(int t4Interval)
Specified by:
setT4Interval in interface SipApplicationDispatcher
Parameters:
t4Interval - the t4Interval to set

getT4Interval

public int getT4Interval()
Specified by:
getT4Interval in interface SipApplicationDispatcher
Returns:
the t4Interval

setTimerDInterval

public void setTimerDInterval(int timerDInterval)
Specified by:
setTimerDInterval in interface SipApplicationDispatcher
Parameters:
timerDInterval - the timerDInterval to set

getTimerDInterval

public int getTimerDInterval()
Specified by:
getTimerDInterval in interface SipApplicationDispatcher
Returns:
the timerDInterval

getExtensionsSupported

public java.lang.String[] getExtensionsSupported()
Specified by:
getExtensionsSupported in interface SipApplicationDispatcher

getRfcSupported

public java.lang.String[] getRfcSupported()
Specified by:
getRfcSupported in interface SipApplicationDispatcher

loadBalancerAdded

public void loadBalancerAdded(org.mobicents.ha.javax.sip.SipLoadBalancer sipLoadBalancer)
Specified by:
loadBalancerAdded in interface org.mobicents.ha.javax.sip.LoadBalancerHeartBeatingListener

loadBalancerRemoved

public void loadBalancerRemoved(org.mobicents.ha.javax.sip.SipLoadBalancer sipLoadBalancer)
Specified by:
loadBalancerRemoved in interface org.mobicents.ha.javax.sip.LoadBalancerHeartBeatingListener

sendSwitchoverInstruction

public void sendSwitchoverInstruction(java.lang.String fromJvmRoute,
                                      java.lang.String toJvmRoute)
Specified by:
sendSwitchoverInstruction in interface SipApplicationDispatcher
Parameters:
info -

setGatherStatistics

public void setGatherStatistics(boolean skipStatistics)
Specified by:
setGatherStatistics in interface SipApplicationDispatcher
Parameters:
skipStatistics - the skipStatistics to set

isGatherStatistics

public boolean isGatherStatistics()
Specified by:
isGatherStatistics in interface SipApplicationDispatcher
Returns:
the skipStatistics

getGatherStatistics

public boolean getGatherStatistics()
PRESENT TO ACCOMODATE JOPR. NEED TO FILE A BUG ON THIS

Returns:
the skipStatistics

setBackToNormalMemoryThreshold

public void setBackToNormalMemoryThreshold(int backToNormalMemoryThreshold)
Specified by:
setBackToNormalMemoryThreshold in interface SipApplicationDispatcher
Parameters:
backToNormalPercentageOfMemoryUsed - the backToNormalPercentageOfMemoryUsed to set

getBackToNormalMemoryThreshold

public int getBackToNormalMemoryThreshold()
Specified by:
getBackToNormalMemoryThreshold in interface SipApplicationDispatcher
Returns:
the backToNormalPercentageOfMemoryUsed

setBackToNormalQueueSize

public void setBackToNormalQueueSize(int backToNormalQueueSize)
Specified by:
setBackToNormalQueueSize in interface SipApplicationDispatcher
Parameters:
backToNormalQueueSize - the backToNormalQueueSize to set

getBackToNormalQueueSize

public int getBackToNormalQueueSize()
Specified by:
getBackToNormalQueueSize in interface SipApplicationDispatcher
Returns:
the backToNormalQueueSize

getSipStack

public javax.sip.SipStack getSipStack()
Specified by:
getSipStack in interface SipApplicationDispatcher

setSipStack

public void setSipStack(javax.sip.SipStack sipStack)
Specified by:
setSipStack in interface SipApplicationDispatcher

startSipStack

protected void startSipStack()
                      throws javax.sip.SipException
Throws:
javax.sip.SipException

stopSipStack

protected void stopSipStack()


Copyright © 2011. All Rights Reserved.