Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

SIPTransaction Class Reference

#include <sippdu.h>

Inheritance diagram for SIPTransaction:

SIP_PDU SIPInvite SIPMessage SIPMWISubscribe SIPOptions SIPRefer SIPReferNotify SIPRegister List of all members.

Public Member Functions

 SIPTransaction (SIPEndPoint &endpoint, OpalTransport &transport)
 SIPTransaction (SIPConnection &connection, OpalTransport &transport, Methods method=NumMethods)
 ~SIPTransaction ()
BOOL Start ()
BOOL IsInProgress () const
BOOL IsFailed () const
BOOL IsFinished ()
void Wait ()
BOOL SendCANCEL ()
virtual BOOL OnReceivedResponse (SIP_PDU &response)
virtual BOOL OnCompleted (SIP_PDU &response)
OpalTransport & GetTransport () const
SIPConnection * GetConnection () const
const OpalTransportAddress & GetLocalAddress () const

Protected Types

enum  States {
  NotStarted, Trying, Proceeding, Cancelling,
  Completed, Terminated_Success, Terminated_Timeout, Terminated_RetriesExceeded,
  Terminated_TransportError, Terminated_Cancelled, NumStates
}

Protected Member Functions

void Construct ()
BOOL ResendCANCEL ()
 PDECLARE_NOTIFIER (PTimer, SIPTransaction, OnRetry)
 PDECLARE_NOTIFIER (PTimer, SIPTransaction, OnTimeout)
void SetTerminated (States newState)

Protected Attributes

SIPEndPoint & endpoint
OpalTransport & transport
SIPConnection * connection
States state
unsigned retry
PTimer retryTimer
PTimer completionTimer
PSyncPoint finished
PTimedMutex mutex
OpalTransportAddress localAddress

Detailed Description

Session Initiation Protocol transaction. A transaction is a stateful independent entity that provides services to a connection (Transaction User). Transactions are contained within connections. A client transaction handles sending a request and receiving its responses. A server transaction handles sending responses to a received request. In either case the SIP_PDU ancestor is the sent or received request.


Member Enumeration Documentation

enum SIPTransaction::States [protected]
 

Enumeration values:
NotStarted 
Trying 
Proceeding 
Cancelling 
Completed 
Terminated_Success 
Terminated_Timeout 
Terminated_RetriesExceeded 
Terminated_TransportError 
Terminated_Cancelled 
NumStates 


Constructor & Destructor Documentation

SIPTransaction::SIPTransaction (  SIPEndPoint &  endpoint,
OpalTransport &  transport
) 
 

SIPTransaction::SIPTransaction (  SIPConnection &  connection,
OpalTransport &  transport,
Methods  method = NumMethods
) 
 

Construct a transaction for requests in a dialog. The transport is used to determine the local address

SIPTransaction::~SIPTransaction (   ) 
 


Member Function Documentation

void SIPTransaction::Construct (   )  [protected]
 

SIPConnection* SIPTransaction::GetConnection (   )  const [inline]
 

const OpalTransportAddress& SIPTransaction::GetLocalAddress (   )  const [inline]
 

OpalTransport& SIPTransaction::GetTransport (   )  const [inline]
 

BOOL SIPTransaction::IsFailed (   )  const [inline]
 

BOOL SIPTransaction::IsFinished (   )  [inline]
 

BOOL SIPTransaction::IsInProgress (   )  const [inline]
 

virtual BOOL SIPTransaction::OnCompleted (  SIP_PDU &  response  )  [virtual]
 

virtual BOOL SIPTransaction::OnReceivedResponse (  SIP_PDU &  response  )  [virtual]
 

Reimplemented in SIPInvite.

SIPTransaction::PDECLARE_NOTIFIER (  PTimer  ,
SIPTransaction  ,
OnTimeout 
)  [protected]
 

SIPTransaction::PDECLARE_NOTIFIER (  PTimer  ,
SIPTransaction  ,
OnRetry 
)  [protected]
 

BOOL SIPTransaction::ResendCANCEL (   )  [protected]
 

BOOL SIPTransaction::SendCANCEL (   ) 
 

void SIPTransaction::SetTerminated (  States  newState  )  [protected]
 

BOOL SIPTransaction::Start (   ) 
 

void SIPTransaction::Wait (   ) 
 


Member Data Documentation

PTimer SIPTransaction::completionTimer [protected]
 

SIPConnection* SIPTransaction::connection [protected]
 

SIPEndPoint& SIPTransaction::endpoint [protected]
 

PSyncPoint SIPTransaction::finished [protected]
 

OpalTransportAddress SIPTransaction::localAddress [protected]
 

PTimedMutex SIPTransaction::mutex [protected]
 

unsigned SIPTransaction::retry [protected]
 

PTimer SIPTransaction::retryTimer [protected]
 

States SIPTransaction::state [protected]
 

OpalTransport& SIPTransaction::transport [protected]
 


The documentation for this class was generated from the following file:
Generated on Fri Jun 16 09:23:42 2006 for OPAL by  doxygen 1.4.2