|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectgov.nist.javax.sip.stack.MessageChannel
gov.nist.javax.sip.stack.SIPTransaction
gov.nist.javax.sip.stack.SIPClientTransaction
public class SIPClientTransaction
Represents a client transaction. Implements the following state machines. (From RFC 3261)
|INVITE from TU
Timer A fires |INVITE sent
Reset A, V Timer B fires
INVITE sent +-----------+ or Transport Err.
+---------| |---------------+inform TU
| | Calling | |
+-------->| |-------------->|
+-----------+ 2xx |
| | 2xx to TU |
| |1xx |
300-699 +---------------+ |1xx to TU |
ACK sent | | |
resp. to TU | 1xx V |
| 1xx to TU -----------+ |
| +---------| | |
| | |Proceeding |-------------->|
| +-------->| | 2xx |
| +-----------+ 2xx to TU |
| 300-699 | |
| ACK sent, | |
| resp. to TU| |
| | | NOTE:
| 300-699 V |
| ACK sent +-----------+Transport Err. | transitions
| +---------| |Inform TU | labeled with
| | | Completed |-------------->| the event
| +-------->| | | over the action
| +-----------+ | to take
| ˆ | |
| | | Timer D fires |
+--------------+ | - |
| |
V |
+-----------+ |
| | |
| Terminated|<--------------+
| |
+-----------+
Figure 5: INVITE client transaction
|Request from TU
|send request
Timer E V
send request +-----------+
+---------| |-------------------+
| | Trying | Timer F |
+-------->| | or Transport Err.|
+-----------+ inform TU |
200-699 | | |
resp. to TU | |1xx |
+---------------+ |resp. to TU |
| | |
| Timer E V Timer F |
| send req +-----------+ or Transport Err. |
| +---------| | inform TU |
| | |Proceeding |------------------>|
| +-------->| |-----+ |
| +-----------+ |1xx |
| | ˆ |resp to TU |
| 200-699 | +--------+ |
| resp. to TU | |
| | |
| V |
| +-----------+ |
| | | |
| | Completed | |
| | | |
| +-----------+ |
| ˆ | |
| | | Timer K |
+--------------+ | - |
| |
V |
NOTE: +-----------+ |
| | |
transitions | Terminated|<------------------+
labeled with | |
the event +-----------+
over the action
to take
Figure 6: non-INVITE client transaction
| 入れ子のクラスの概要 | |
|---|---|
class |
SIPClientTransaction.TransactionTimer
|
| フィールドの概要 |
|---|
| クラス gov.nist.javax.sip.stack.SIPTransaction から継承されたフィールド |
|---|
CALLING_STATE, COMPLETED_STATE, CONFIRMED_STATE, INITIAL_STATE, PROCEEDING_STATE, TERMINATED_STATE, TRYING_STATE |
| メソッドの概要 | |
|---|---|
void |
clearPending()
Clear the mark that there is a pending event for this transaction. |
void |
clearState()
This is called by the stack after a non-invite client transaction goes to completed state. |
javax.sip.message.Request |
createAck()
Creates an ACK request for this transaction |
javax.sip.message.Request |
createCancel()
Creates a new Cancel message from the Request associated with this client transaction. |
Via |
getOutgoingViaHeader()
get the via header for an outgoing request. |
java.lang.String |
getProcessingInfo()
Get auxiliary information that is generated while logging for the purpose of writing out the log file. |
MessageChannel |
getRequestChannel()
Returns this transaction. |
java.lang.String |
getViaHost()
Get the host of the recipient. |
int |
getViaPort()
Get the port of the recipient. |
boolean |
hasPending()
Return true if this has a pending request |
boolean |
isMessagePartOfTransaction(SIPMessage messageToTest)
Deterines if the message is a part of this transaction. |
boolean |
isSecure()
Return true if this is a secure channel. |
void |
processPending()
Run any pending responses - gets called at the end of the event loop. |
void |
processResponse(SIPResponse transactionResponse,
MessageChannel sourceChannel)
Process a new response message through this transaction. |
void |
sendMessage(SIPMessage messageToSend)
Send a request message through this transaction and onto the client. |
void |
sendRequest()
Sends specified Requeston a unique client
transaction identifier. |
void |
setResponseInterface(ServerResponseInterface newRespondTo)
Sets the real ResponseInterface this transaction encapsulates. |
void |
setState(javax.sip.TransactionState newState)
Sets a timeout after which the connection is closed (provided the server does not use the connection for outgoing requests in this time period) and calls the superclass to set state. |
| クラス gov.nist.javax.sip.stack.MessageChannel から継承されたメソッド |
|---|
getHostPort, getKey, getKey, getPeerHostPort, getRawIpSourceAddress, getViaHostPort, logResponse, sendMessage |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, notify, notifyAll, toString, wait, wait, wait |
| インタフェース javax.sip.Transaction から継承されたメソッド |
|---|
getBranchId, getDialog, getRequest, getRetransmitTimer, getState, setRetransmitTimer |
| インタフェース gov.nist.javax.sip.stack.PendingRecord から継承されたメソッド |
|---|
isTerminated |
| メソッドの詳細 |
|---|
public void setResponseInterface(ServerResponseInterface newRespondTo)
newRespondTo - ResponseInterface to send messages to.public java.lang.String getProcessingInfo()
ServerResponseInterface の記述:
ServerResponseInterface 内の getProcessingInfopublic MessageChannel getRequestChannel()
public boolean isMessagePartOfTransaction(SIPMessage messageToTest)
SIPTransaction 内の isMessagePartOfTransactionmessageToTest - Message to check if it is part of this transaction.
public void sendMessage(SIPMessage messageToSend)
throws java.io.IOException
SIPTransaction 内の sendMessagemessageToSend - Request to process and send.
java.io.IOException
public void processResponse(SIPResponse transactionResponse,
MessageChannel sourceChannel)
ServerResponseInterface 内の processResponsetransactionResponse - Response to process.sourceChannel - Channel that received this message.
public void sendRequest()
throws javax.sip.SipException
Requeston a unique client
transaction identifier. This method implies that the application is
functioning as either a User Agent Client or a Stateful proxy, hence the
underlying SipProvider acts statefully.
JAIN SIP defines a retransmission utility specific to user agent behaviour and the default retransmission behaviour for each method.
When an application wishes to send a message, it creates a Request message passes that Request to this method, this method returns the cleintTransactionId generated by the SipProvider. The Request message gets sent via the ListeningPoint that this SipProvider is attached to.
javax.sip.ClientTransaction 内の sendRequestjavax.sip.SipException - if implementation cannot send request for any reason
public javax.sip.message.Request createCancel()
throws javax.sip.SipException
javax.sip.ClientTransaction 内の createCanceljavax.sip.SipException
public javax.sip.message.Request createAck()
throws javax.sip.SipException
javax.sip.ClientTransaction 内の createAckjavax.sip.SipException - if transaction is in the wrong state to be acked.public int getViaPort()
SIPTransaction 内の getViaPortpublic java.lang.String getViaHost()
SIPTransaction 内の getViaHostpublic Via getOutgoingViaHeader()
public boolean isSecure()
MessageChannel の記述:
SIPTransaction 内の isSecurepublic void clearState()
public void setState(javax.sip.TransactionState newState)
SIPTransaction 内の setStatenewState - New state of this transaction.public void processPending()
PendingRecord 内の processPendingSIPTransaction 内の processPendingpublic boolean hasPending()
PendingRecord の記述:
PendingRecord 内の hasPendingpublic void clearPending()
SIPTransaction の記述:
PendingRecord 内の clearPending
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||