gov.nist.javax.sip
クラス SipStackImpl
java.lang.Object
   gov.nist.javax.sip.stack.SIPMessageStack
gov.nist.javax.sip.stack.SIPMessageStack
       gov.nist.javax.sip.stack.SIPTransactionStack
gov.nist.javax.sip.stack.SIPTransactionStack
           gov.nist.javax.sip.SipStackImpl
gov.nist.javax.sip.SipStackImpl
- すべての実装されたインタフェース: 
- SIPTransactionEventListener, java.util.EventListener, javax.sip.SipStack
- public class SipStackImpl 
- extends SIPTransactionStack- implements javax.sip.SipStack
Implementation of SipStack.
 The JAIN-SIP stack is initialized by a set of properties (see the JAIN
 SIP documentation for an explanation of these properties).
 In addition to these, the following are meaningful properties for 
 the NIST SIP stack (specify these in the property array when you create
 the JAIN-SIP statck).:
- gov.nist.javax.sip.TRACE_LEVEL = integer 
 Currently only 16 and 32 is meaningful. 
If this is set to 16 or above, then incoming
valid messages are  logged in SERVER_LOG. If you set this to 32 and 
specify a DEBUG_LOG then vast amounts of trace information will be dumped
in to the specified DEBUG_LOG.  The server log accumulates the signaling
trace. 
This can be viewed using the trace viewer tool .
Please send us both the server log and debug log 
 when reporting non-obvious problems.
- gov.nist.javax.sip.SERVER_LOG = fileName 
 Log valid incoming messages here. If this is left null AND the 
 TRACE_LEVEL is above 16 then the messages are printed to stdout.
 Otherwise messages are logged in a format that can later be viewed
 using the trace viewer application which is located in 
 the tools/tracesviewer directory. 
 Mail this to us with bug reports.
- gov.nist.javax.sip.LOG_MESSAGE_CONTENT = true|false 
 Set true if you want to capture content into the log. Default is false.
 A bad idea to log content if you are using SIP to push a lot of 
 bytes through TCP.
- gov.nist.javax.sip.BAD_MESSAGE_LOG = fileName 
 Messages that do not contain the required headers are dropped.
  This file indicates where the bad (unprocessable) messages go. 
  Default is null (bad messages are not logged in their own file).
- gov.nist.javax.sip.DEBUG_LOG = fileName 
 Where the debug log goes. 
         Mail this to us with bug reports.
- gov.nist.javax.sip.MAX_MESSAGE_SIZE = integer 
 Maximum size of content that a TCP connection can read. Must be
 at least 4K. Default is "infinity" -- ie. no limit.
 This is to prevent DOS attacks launched by writing to a
 TCP connection until the server chokes.
- gov.nist.javax.sip.MAX_SERVER_TRANSACTIONS = integer 
 Max number of open SERVER transactions in the transaction table - incoming
  Requests that have the capability to create ServerTransactions will
  not be processed if server transaction table exceeds this size
  (default value is "infinity").
- gov.nist.javax.sip.CACHE_SERVER_CONNECTIONS = [true|false]  
 Default value is true. Setting this to true makes the Stack close the server socket after
  a Server Transaction goes to the TERMINATED state. This allows a server to protectect against 
  TCP based Denial of Service attacks launched by clients (ie. initiate hundreds of client gransactions).
  If false (default action), the stack will keep the socket open so as to maximize performance at 
   the expense of Thread and memory resources - leaving itself open to DOS attacks.
- gov.nist.javax.sip.CACHE_CLIENT_CONNECTIONS = [true|false]  
 Default value is true. Setting this to true makes the Stack 
  close the server socket aftera Client Transaction goes to the 
 TERMINATED state. This allows a client release any buffers
  threads and socket connections associated with a client 
  transaction after the transaction has
  terminated at the expense of performance.
-  gov.nist.javax.sip.THREAD_POOL_SIZE = integer  
 Concurrency control for number of simultaneous active threads.
  If unspecificed, the default is "infinity".
  This feature is useful if you are trying to build a container.
 - 
  
-  If this is not specified,  and the listener is re-entrant,  
   each event delivered to the listener is run in the context of a 
   new thread. 
- If this is specified and the listener is re-entrant, 
   then the stack will run the listener using a 
   thread from the thread pool.  This allows you to manage the 
   level of concurrency to a fixed maximum. Threads are pre-allocated
   when the stack is instantiated.
-  If this is specified and the listener is not re-entrant, 
   then the stack will use the thread pool thread from this pool to
   parse and manage the state machine but will run the listener in
   its own thread.
 
 
-  gov.nist.javax.sip.REENTRANT_LISTENER = true|false  
 Default is false. Set to true if the listener is re-entrant. 
 If the listener is re-entrant then the stack manages a thread pool
 and synchronously calls the listener from the same thread which read the
 message. Multiple transactions may concurrently receive messages and
 this will result in multiple threads being active in the listener at
 the same time. The listener has to be written with this in mind.
-  gov.nist.javax.sip.MAX_CONNECTIONS = integer  
 Max number of simultaneous TCP connections handled by stack. 
  (Was mis-spelled - Documentation bug fix by Bob Johnson)
-  gov.nist.javax.sip.READ_TIMEOUT = integer  
 This is relevant for incoming TCP connections to prevent starvation at
 the server.
 This defines the timeout in miliseconds between successive reads after the 
 first byte of a SIP message is read by the stack. All the sip headers
 must be delivered in this interval and each successive buffer must be
 of the content  delivered in this interval.
 Default value is -1  (ie. the stack is wide open to starvation attacks) and
 the client can be as slow as it wants to be.
-  gov.nist.javax.sip.NETWORK_LAYER = classpath  
 This is an EXPERIMENTAL property (still under active devlopment).
 Defines a network layer that allows a client to have control over socket
 allocations and monitoring of socket activity. A network layer should
 implement gov.nist.core.net.NetworkLayer. The default implementation simply
 acts as a wrapper for the standard java.net socket layer. This functionality
 is still under active development (may be extended to support security and
 other features).
-   gov.nist.javax.sip.STRIP_ROUTE_HEADER = [ true| false ] 
 If set to true (default behavior), 
 stack will strip topmpost route header on an incoming request
 if the route header matches the listening point on which it was received.
 If set to false, the route header is passed up to the application and it is
 the application layer's responsibility to strip the route header. 
-   javax.sip.AUTOMATIC_DIALOG_SUPPORT = [ true | false ] 
  This is a planned feature for the next version of the spec 
 if set to true JAIN-SIP provides automatic dialog suport 
 (this is the default). If set to true (default) the dialog is created
 by the stack automatically when the request is handled statefully.
 If set to false, the stack will not create a dialog for the application
 implicitly. In this case the stack is responsible for creating and 
 associating the dialog.
 
- バージョン:
- JAIN-SIP-1.1 $Revision: 1.37 $ $Date: 2004/10/01 16:05:08 $
- 作成者:
- M. Ranganathan   
 This code is in the public domain.
 
 
 
| コンストラクタの概要 | 
| SipStackImpl(java.util.Properties configurationProperties)
 | 
 
| メソッドの概要 | 
|  javax.sip.SipProvider | createSipProvider()Creates a new peer SipProvider on this SipStack on a specified
 ListeningPoint and returns a reference to the newly created SipProvider
 object.
 | 
|  void | deleteSipProvider(javax.sip.SipProvider sipProvider)Deletes the specified peer SipProvider attached to this SipStack.
 | 
|  void | finalize()Finalization -- stop the stack on finalization.
 | 
|  java.lang.String | getIPAddress()Gets the IP Address that identifies this SipStack instance.
 | 
|  java.util.Iterator | getListeningPoints()Returns an Iterator of existing ListeningPoints created by this
 SipStackImpl.
 | 
|  javax.sip.address.Router | getRouter()Gets the Router object that identifies the default 
 Routing policy of this
 SipStack.
 | 
|  java.util.Iterator | getSipProviders()Returns an Iterator of existing peer SipProviders that have been
 created by this SipStackImpl.
 | 
|  java.lang.String | getStackName()Gets the user friendly name that identifies this SipStack instance.
 | 
|  boolean | isRetransmissionFilterActive()This method returns the value of the retransmission filter helper
 function for User Agent Client and User Agent Server applications.
 | 
 
| クラス gov.nist.javax.sip.stack.SIPTransactionStack から継承されたメソッド | 
| addExtensionMethod, addTransaction, addTransaction, createClientTransaction, createDialog, createMessageChannel, createMessageChannel, createMessageChannel, createRawMessageChannel, createServerTransaction, findCancelTransaction, findPendingTransaction, findSubscribeTransaction, findTransaction, getDialog, getDialogs, hasResources, isDialogCreated, newSIPServerRequest, newSIPServerResponse, notifyPendingRecordScanner, putDialog, putPending, putPendingTransaction, removeDialog, removePending, removePendingTransaction, stopStack, transactionErrorEvent | 
 
| クラス gov.nist.javax.sip.stack.SIPMessageStack から継承されたメソッド | 
| addMessageProcessor, createMessageProcessor, getBadMessageLog, getDefaultRoute, getDefaultRouteHeader, getHostAddress, getLogWriter, getMaxMessageSize, getMessageProcessor, getMessageProcessors, getNextHop, getNextHop, getPort, getRouteHeader, getServerLog, isAlive, isTransportEnabled, isTransportEnabled, logBadMessage, logMessage, logStackTrace, removeMessageProcessor, setMaxConnections, setRouter, setSingleThreaded, setStackMessageFactory, setStackName, setThreadPoolSize | 
 
| クラス java.lang.Object から継承されたメソッド | 
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
SipStackImpl
public SipStackImpl(java.util.Properties configurationProperties)
             throws javax.sip.PeerUnavailableException
- 例外:
- javax.sip.PeerUnavailableException
createSipProvider
public javax.sip.SipProvider createSipProvider()
                                        throws javax.sip.ObjectInUseException
- Creates a new peer SipProvider on this SipStack on a specified
 ListeningPoint and returns a reference to the newly created SipProvider
 object. The newly created SipProvider is implicitly attached to this
 SipStack upon execution of this method, by adding the SipProvider to the
 SipStack.getSipProviders()of this SipStack, once it has been
 successfully created.
 
- 
 
- 
- パラメータ:
- listeningPoint- the ListeningPoint the SipProvider is to
 be attached to in order to send and Receive messages.
- 戻り値:
- The peer SipProvider attached to this SipStack on the specified
 ListeningPoint.
- 例外:
- ListeningPointUnavailableException- thrown if another
 SipProvider is already using the ListeningPoint.
- javax.sip.ObjectInUseException
 
deleteSipProvider
public void deleteSipProvider(javax.sip.SipProvider sipProvider)
                       throws javax.sip.ObjectInUseException
- Deletes the specified peer SipProvider attached to this SipStack. The
 specified SipProvider is implicitly detached from this SipStack upon
 execution of this method, by removing the SipProvider from the
 SipStack.getSipProviders()of this SipStack. Deletion of a
 SipProvider does not automatically delete the ListeningPoint from the
 SipStack.
 
- 
- 定義:
- インタフェース javax.sip.SipStack内のdeleteSipProvider
 
- 
- パラメータ:
- sipProvider- the peer SipProvider to be deleted from
 this SipStack.
- 例外:
- javax.sip.ObjectInUseException- thrown if the specified peer
 SipProvider cannot be deleted because the peer SipProvider is currently
 in use.
 
getIPAddress
public java.lang.String getIPAddress()
- Gets the IP Address that identifies this SipStack instance. Every Sip
 Stack object must have an IP Address and only a single SipStack object
 can service a single IP Address. This value is set using the Properties
 object passed to the SipFactory.createSipStack(Properties)method upon
 creation of the SIP Stack object.
 
- 
- 定義:
- インタフェース javax.sip.SipStack内のgetIPAddress
 
- 
- 戻り値:
- a string identifing the IP Address
- 導入されたバージョン:
- v1.1
 
getListeningPoints
public java.util.Iterator getListeningPoints()
- Returns an Iterator of existing ListeningPoints created by this
 SipStackImpl. All of the peer SipProviders of this SipStack will be
 proprietary objects belonging to the same stack vendor.
 
- 
 
- 
- 戻り値:
- an Iterator containing all existing peer ListeningPoints created
 by this SipStack. Returns an empty Iterator if no ListeningPoints exist.
 
isRetransmissionFilterActive
public boolean isRetransmissionFilterActive()
- This method returns the value of the retransmission filter helper
 function for User Agent Client and User Agent Server applications. This
 value is set using the Properties object passed to the
 SipFactory.createSipStack(Properties)method upon creation of the SIP Stack
 object.
 The default value of the retransmission filter boolean is false.
 When retransmissions are handled by the SipProvider the application will
 not receive Timeout.RETRANSMITnotifications encapsulated inTimeoutEvent's. However an application will get
 notified when a the underlying transaction expired withTimeout.TRANSACTIONnotifications encapsulated in aTimeoutEvent.
 
 
- 
- 定義:
- インタフェース javax.sip.SipStack内のisRetransmissionFilterActive
 
- 
- 戻り値:
- the value of the retransmission filter, true if the filter
 is set false otherwise.
- 導入されたバージョン:
- v1.1
 
getRouter
public javax.sip.address.Router getRouter()
- Gets the Router object that identifies the default 
 Routing policy of this
 SipStack. It also provides means to set an outbound proxy. This value is
 set using the Properties object passed to the
 SipFactory.createSipStack(Properties)method upon 
 creation of the SIP Stack object.
 
- 
- 定義:
- インタフェース javax.sip.SipStack内のgetRouter
- オーバーライド: 
- クラス SIPMessageStack内のgetRouter
 
- 
- 戻り値:
- a the Router object identifying the Router policy.
- 導入されたバージョン:
- v1.1
 
getSipProviders
public java.util.Iterator getSipProviders()
- Returns an Iterator of existing peer SipProviders that have been
 created by this SipStackImpl. All of the peer SipProviders of this
 SipStack will be proprietary objects belonging to the same stack vendor.
 
- 
- 定義:
- インタフェース javax.sip.SipStack内のgetSipProviders
 
- 
- 戻り値:
- an Iterator containing all existing peer SipProviders created
 by this SipStack. Returns an empty Iterator if no SipProviders exist.
 
getStackName
public java.lang.String getStackName()
- Gets the user friendly name that identifies this SipStack instance. This
 value is set using the Properties object passed to the
 SipFactory.createSipStack(Properties)method upon creation of the SIP Stack
 object.
 
- 
- 定義:
- インタフェース javax.sip.SipStack内のgetStackName
- オーバーライド: 
- クラス SIPMessageStack内のgetStackName
 
- 
- 戻り値:
- a string identifing the stack instance
 
finalize
public void finalize()
- Finalization -- stop the stack on finalization.
 Exit the transaction scanner and release all resources.
 
- 
- オーバーライド: 
- クラス java.lang.Object内のfinalize
 
-