org.siprop.v2.stack.sip.transaction.impl
Class NonInviteClientTransaction

java.lang.Object
  extended by org.siprop.v2.stack.sip.transaction.impl.NonInviteClientTransaction
All Implemented Interfaces:
TransactionEntry

public class NonInviteClientTransaction
extends java.lang.Object
implements TransactionEntry

The state machine for Non-INVITE Client Transaction
According to RFC3261 Figure 6: non-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
 

Author:
masaxmasa

Constructor Summary
NonInviteClientTransaction(TransactionController parent, boolean isReliable)
          Constructor.
 
Method Summary
 void doProcess(Context context)
          Process transaction, if need.
 void fireTimer()
          The timer is expired, then start expired process
 TransactionController getParentTransaction()
          Get parent Transaction object of this entry
 TransactionInfo getTransactionInfo()
          get TransactionInfo.
 TransactionState getTransactionState()
          Get current transaction status
 TransactionType getTransactionType()
          Get type of transaction
 boolean isTimerExpired(long currentTime)
          Check the timer is expired or not.
 void onError()
          An error is happend, then start error handling process
 void setTransactionInfo(TransactionInfo transactionInfo)
          set TransactionInfo.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonInviteClientTransaction

public NonInviteClientTransaction(TransactionController parent,
                                  boolean isReliable)
Constructor. Set Initial Transaction State

Parameters:
isReliable - Using reliable transport or not.
Method Detail

doProcess

public void doProcess(Context context)
Description copied from interface: TransactionEntry
Process transaction, if need.

Specified by:
doProcess in interface TransactionEntry

fireTimer

public void fireTimer()
Description copied from interface: TransactionEntry
The timer is expired, then start expired process

Specified by:
fireTimer in interface TransactionEntry

onError

public void onError()
Description copied from interface: TransactionEntry
An error is happend, then start error handling process

Specified by:
onError in interface TransactionEntry

isTimerExpired

public boolean isTimerExpired(long currentTime)
Description copied from interface: TransactionEntry
Check the timer is expired or not.

Specified by:
isTimerExpired in interface TransactionEntry
Parameters:
currentTime - Current Time (msec)
Returns:
true: The timer is expired, false: The timer isn't expired

getTransactionState

public TransactionState getTransactionState()
Description copied from interface: TransactionEntry
Get current transaction status

Specified by:
getTransactionState in interface TransactionEntry
Returns:
current transaction status

getTransactionType

public TransactionType getTransactionType()
Description copied from interface: TransactionEntry
Get type of transaction

Specified by:
getTransactionType in interface TransactionEntry

getParentTransaction

public TransactionController getParentTransaction()
Description copied from interface: TransactionEntry
Get parent Transaction object of this entry

Specified by:
getParentTransaction in interface TransactionEntry

getTransactionInfo

public TransactionInfo getTransactionInfo()
Description copied from interface: TransactionEntry
get TransactionInfo.

Specified by:
getTransactionInfo in interface TransactionEntry
Returns:
transaction information

setTransactionInfo

public void setTransactionInfo(TransactionInfo transactionInfo)
Description copied from interface: TransactionEntry
set TransactionInfo.

Specified by:
setTransactionInfo in interface TransactionEntry