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

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

public class InviteServerTransaction
extends java.lang.Object
implements TransactionEntry

The state machine for INVITE Server Transaction
According to RFC3261 Figure 7: INVITE server transaction

 
 |INVITE |pass INV to TU INVITE V send 100 if TU won't in 200ms send
 response+-----------+ +--------| |--------+101-199 from TU | | Proceeding|
 |send response +------->| |<-------+ | | Transport Err. | | Inform TU |
 |--------------->+ +-----------+ | 300-699 from TU | |2xx from TU | send
 response | |send response | | +------------------>+ | | INVITE V Timer G
 fires | send response+-----------+ send response | +--------| |--------+ | | |
 Completed | | | +------->| |lt&-------+ | +-----------+ | | | | ACK | | | - |
 +------------------>+ | Timer H fires | V or Transport Err.| +-----------+
 Inform TU | | | | | Confirmed | | | | | +-----------+ | | | |Timer I fires | |- | | |
 V | +-----------+ | | | | | Terminated|<---------------+ | | +-----------+
 
 

Author:
masaxmasa

Constructor Summary
InviteServerTransaction(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

InviteServerTransaction

public InviteServerTransaction(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