gov.nist.javax.sip
クラス SipProviderImpl

java.lang.Object
  上位を拡張 gov.nist.javax.sip.SipProviderImpl
すべての実装されたインタフェース:
SIPTransactionEventListener, java.util.EventListener, javax.sip.SipProvider

public final class SipProviderImpl
extends java.lang.Object
implements javax.sip.SipProvider, SIPTransactionEventListener

Implementation of the JAIN-SIP provider interface.

バージョン:
JAIN-SIP-1.1 $Revision: 1.27 $ $Date: 2004/09/28 04:07:04 $
作成者:
M. Ranganathan
This code is in the public domain.

コンストラクタの概要
SipProviderImpl(EventScanner eventScanner)
          Creates a new instance of SipProviderImpl
 
メソッドの概要
 void addSipListener(javax.sip.SipListener sipListener)
          This method registers the SipListener object to this SipProvider, once registered the SIP Listener can send events on the SipProvider and recieve events emitted from the SipProvider.
 javax.sip.Dialog createDialog(javax.sip.Transaction transaction)
          This is a proposed extension for the next spec revision.
 boolean equals(java.lang.Object obj)
           
 javax.sip.header.CallIdHeader getNewCallId()
          Returns a unique CallIdHeader for identifying dialogues between two SIP applications.
 javax.sip.ClientTransaction getNewClientTransaction(javax.sip.message.Request request)
          Once an application wants to a send a new request it must first request a new client transaction identifier.
 javax.sip.ServerTransaction getNewServerTransaction(javax.sip.message.Request request)
          An application has the responsibility of deciding to respond to a Request that does not match an existing server transaction.
 javax.sip.SipStack getSipStack()
          Returns the SipStack that this SipProvider is attached to.
 void handleEvent(java.util.EventObject sipEvent, SIPTransaction transaction)
          Handle the SIP event - because we have only one listener and we are already in the context of a separate thread, we dont need to enque the event and signal another thread.
 void removeSipListener(javax.sip.SipListener sipListener)
          Removes the SipListener from this SipProvider.
 void sendRequest(javax.sip.message.Request request)
          Sends specified Requestand returns void i.e.
 void sendResponse(javax.sip.message.Response response)
          Sends specified Responseand returns void i.e.
 void transactionErrorEvent(SIPTransactionErrorEvent transactionErrorEvent)
          Invoked when an error has ocurred with a transaction.
 
クラス java.lang.Object から継承されたメソッド
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SipProviderImpl

public SipProviderImpl(EventScanner eventScanner)
Creates a new instance of SipProviderImpl

メソッドの詳細

handleEvent

public void handleEvent(java.util.EventObject sipEvent,
                        SIPTransaction transaction)
Handle the SIP event - because we have only one listener and we are already in the context of a separate thread, we dont need to enque the event and signal another thread.

パラメータ:
sipEvent - is the event to process.

equals

public boolean equals(java.lang.Object obj)
オーバーライド:
クラス java.lang.Object 内の equals

addSipListener

public void addSipListener(javax.sip.SipListener sipListener)
                    throws java.util.TooManyListenersException
This method registers the SipListener object to this SipProvider, once registered the SIP Listener can send events on the SipProvider and recieve events emitted from the SipProvider. As JAIN SIP resticts a unicast Listener special case, that is, that one and only one Listener may be registered on the SipProvider concurrently.

If an attempt is made to re-register the existing SipListener this method returns silently. A previous SipListener must be removed from the SipProvider before another SipListener can be registered to the SipProvider.

定義:
インタフェース javax.sip.SipProvider 内の addSipListener
パラメータ:
sipListener - SipListener to be registered with the Provider.
例外:
java.util.TooManyListenersException - this exception is thrown when a new SipListener attempts to register with the SipProvider when another SipListener is already registered with this SipProvider.

getNewCallId

public javax.sip.header.CallIdHeader getNewCallId()
Returns a unique CallIdHeader for identifying dialogues between two SIP applications.

定義:
インタフェース javax.sip.SipProvider 内の getNewCallId
戻り値:
new CallId unique within the SIP Stack.

getNewClientTransaction

public javax.sip.ClientTransaction getNewClientTransaction(javax.sip.message.Request request)
                                                    throws javax.sip.TransactionUnavailableException
Once an application wants to a send a new request it must first request a new client transaction identifier. This method is called by an application to create the client transaction befores it sends the Request via the SipProvider on that transaction. This methods returns a new unique client transaction identifier that can be passed to the stateful sendRequest method on the SipProvider and the sendAck/sendBye methods on the Dialog in order to send a request.

定義:
インタフェース javax.sip.SipProvider 内の getNewClientTransaction
パラメータ:
request - The new Request message that is to handled statefully by the Provider.
戻り値:
a new unique client transation identifier
例外:
javax.sip.TransactionUnavailableException
導入されたバージョン:
v1.1
関連項目:
ClientTransaction

getNewServerTransaction

public javax.sip.ServerTransaction getNewServerTransaction(javax.sip.message.Request request)
                                                    throws javax.sip.TransactionAlreadyExistsException,
                                                           javax.sip.TransactionUnavailableException
An application has the responsibility of deciding to respond to a Request that does not match an existing server transaction. The method is called by an application that decides to respond to an unmatched Request statefully. This methods return a new unique server transaction identifier that can be passed to the stateful sendResponse methods in order to respond to the request.

定義:
インタフェース javax.sip.SipProvider 内の getNewServerTransaction
パラメータ:
request - The initial Request message that the doesn't match an existing transaction that the application decides to handle statefully.
戻り値:
a new unique server transation identifier
例外:
javax.sip.TransactionAlreadyExistsException - if a transaction already exists that is already handling this Request. This may happen if the application gets retransmits of the same request before the initial transaction is allocated.
javax.sip.TransactionUnavailableException
導入されたバージョン:
v1.1
関連項目:
ServerTransaction

getSipStack

public javax.sip.SipStack getSipStack()
Returns the SipStack that this SipProvider is attached to. A SipProvider can only be attached to a single SipStack object which belongs to the same SIP stack as the SipProvider.

定義:
インタフェース javax.sip.SipProvider 内の getSipStack
戻り値:
the attached SipStack.
関連項目:
SipStack

removeSipListener

public void removeSipListener(javax.sip.SipListener sipListener)
Removes the SipListener from this SipProvider. This method returns silently if the sipListener argument is not registered with the SipProvider.

定義:
インタフェース javax.sip.SipProvider 内の removeSipListener
パラメータ:
sipListener - The SipListener to be removed from this SipProvider

sendRequest

public void sendRequest(javax.sip.message.Request request)
                 throws javax.sip.SipException
Sends specified Requestand returns void i.e. no transaction record is associated with this action. This method implies that the application is functioning statelessly specific to this Request, hence the underlying SipProvider acts statelessly.

Once the Request message has been passed to this method, the SipProvider will forget about this Request. No transaction semantics will be associated with the Request and no retranmissions will occur on the Request by the SipProvider, if these semantics are required it is the responsibility of the application not the JAIN SIP Stack.

定義:
インタフェース javax.sip.SipProvider 内の sendRequest
パラメータ:
request - The Request message to send statelessly
例外:
javax.sip.SipException - if implementation cannot send request for any reason
導入されたバージョン:
v1.1
関連項目:
Request

sendResponse

public void sendResponse(javax.sip.message.Response response)
                  throws javax.sip.SipException
Sends specified Responseand returns void i.e. no transaction record is associated with this action. This method implies that the application is functioning as either a stateless proxy or a stateless User Agent Server.

定義:
インタフェース javax.sip.SipProvider 内の sendResponse
パラメータ:
response - - the Response to send statelessly.
例外:
javax.sip.SipException - if implementation cannot send response for any reason
導入されたバージョン:
v1.1
関連項目:
Response, Response

createDialog

public javax.sip.Dialog createDialog(javax.sip.Transaction transaction)
                              throws javax.sip.SipException
This is a proposed extension for the next spec revision. This allows the application to exert explicit control over dialog creation and association.

パラメータ:
transaction - - transaction for which to attach the dialog
例外:
javax.sip.SipException

transactionErrorEvent

public void transactionErrorEvent(SIPTransactionErrorEvent transactionErrorEvent)
Invoked when an error has ocurred with a transaction. Propagate up to the listeners.

定義:
インタフェース SIPTransactionEventListener 内の transactionErrorEvent
パラメータ:
transactionErrorEvent - Error event.