OPAL
Version 3.10.10
|
#include <sippdu.h>
Public Member Functions | |
SIPTransaction (Methods method, SIPEndPoint &endpoint, OpalTransport &transport) | |
SIPTransaction (Methods method, SIPConnection &connection) | |
~SIPTransaction () | |
virtual SIPTransaction * | CreateDuplicate () const =0 |
PBoolean | Start () |
bool | IsTrying () const |
bool | IsProceeding () const |
bool | IsInProgress () const |
bool | IsFailed () const |
bool | IsCompleted () const |
bool | IsCanceled () const |
bool | IsTerminated () const |
void | WaitForCompletion () |
PBoolean | Cancel () |
void | Abort () |
virtual PBoolean | OnReceivedResponse (SIP_PDU &response) |
virtual PBoolean | OnCompleted (SIP_PDU &response) |
OpalTransport & | GetTransport () const |
SIPConnection * | GetConnection () const |
PString | GetInterface () const |
void | SetInterface (const PString &localIf) |
![]() | |
SIP_PDU (Methods method=SIP_PDU::NumMethods) | |
SIP_PDU (const SIP_PDU &request, StatusCodes code, const SDPSessionDescription *sdp=NULL) | |
SIP_PDU (const SIP_PDU &) | |
SIP_PDU & | operator= (const SIP_PDU &) |
~SIP_PDU () | |
void | PrintOn (ostream &strm) const |
void | InitialiseHeaders (const SIPURL &dest, const SIPURL &to, const SIPURL &from, const PString &callID, unsigned cseq, const PString &via) |
void | InitialiseHeaders (SIPDialogContext &dialog, const PString &via=PString::Empty(), unsigned cseq=0) |
void | InitialiseHeaders (SIPConnection &connection, const OpalTransport &transport, unsigned cseq=0) |
void | InitialiseHeaders (const SIP_PDU &request) |
bool | SetRoute (const SIPURLList &routeSet) |
bool | SetRoute (const SIPURL &proxy) |
void | SetAllow (unsigned bitmask) |
void | AdjustVia (OpalTransport &transport) |
PString | CreateVia (SIPEndPoint &endpoint, const OpalTransport &transport) |
SIP_PDU::StatusCodes | Read (OpalTransport &transport) |
PBoolean | Write (OpalTransport &transport, const OpalTransportAddress &remoteAddress=OpalTransportAddress(), const PString &localInterface=PString::Empty()) |
bool | SendResponse (OpalTransport &transport, StatusCodes code, SIPEndPoint *endpoint=NULL) const |
bool | SendResponse (OpalTransport &transport, SIP_PDU &response, SIPEndPoint *endpoint=NULL) const |
PString | Build () |
PString | GetTransactionID () const |
Methods | GetMethod () const |
StatusCodes | GetStatusCode () const |
void | SetStatusCode (StatusCodes c) |
const SIPURL & | GetURI () const |
void | SetURI (const SIPURL &newuri) |
unsigned | GetVersionMajor () const |
unsigned | GetVersionMinor () const |
void | SetCSeq (unsigned cseq) |
const PString & | GetEntityBody () const |
void | SetEntityBody (const PString &body) |
void | SetEntityBody () |
const PString & | GetInfo () const |
void | SetInfo (const PString &info) |
const SIPMIMEInfo & | GetMIME () const |
SIPMIMEInfo & | GetMIME () |
SDPSessionDescription * | GetSDP (const OpalMediaFormatList &masterList) |
void | SetSDP (SDPSessionDescription *sdp) |
Static Public Member Functions | |
static PString | GenerateCallID () |
![]() | |
static const char * | GetStatusCodeDescription (int code) |
Protected Types | |
enum | States { NotStarted, Trying, Proceeding, Cancelling, Completed, Terminated_Success, Terminated_Timeout, Terminated_RetriesExceeded, Terminated_TransportError, Terminated_Cancelled, Terminated_Aborted, NumStates } |
Protected Member Functions | |
bool | SendPDU (SIP_PDU &pdu) |
bool | ResendCANCEL () |
void | SetParameters (const SIPParameters ¶ms) |
PDECLARE_NOTIFIER (PTimer, SIPTransaction, OnRetry) | |
PDECLARE_NOTIFIER (PTimer, SIPTransaction, OnTimeout) | |
virtual void | SetTerminated (States newState) |
Protected Attributes | |
SIPEndPoint & | m_endpoint |
OpalTransport & | m_transport |
PSafePtr< SIPConnection > | m_connection |
PTimeInterval | m_retryTimeoutMin |
PTimeInterval | m_retryTimeoutMax |
States | m_state |
unsigned | m_retry |
PTimer | m_retryTimer |
PTimer | m_completionTimer |
PSyncPoint | m_completed |
PString | m_localInterface |
OpalTransportAddress | m_remoteAddress |
![]() | |
Methods | m_method |
StatusCodes | m_statusCode |
SIPURL | m_uri |
unsigned | m_versionMajor |
unsigned | m_versionMinor |
PString | m_info |
SIPMIMEInfo | m_mime |
PString | m_entityBody |
SDPSessionDescription * | m_SDP |
PString | m_transactionID |
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.
|
protected |
SIPTransaction::SIPTransaction | ( | Methods | method, |
SIPEndPoint & | endpoint, | ||
OpalTransport & | transport | ||
) |
SIPTransaction::SIPTransaction | ( | Methods | method, |
SIPConnection & | connection | ||
) |
Construct a transaction for requests in a dialog. The transport is used to determine the local address
SIPTransaction::~SIPTransaction | ( | ) |
void SIPTransaction::Abort | ( | ) |
PBoolean SIPTransaction::Cancel | ( | ) |
|
pure virtual |
Implemented in SIPPrack, SIPPing, SIPInfo, SIPOptions, SIPMessage, SIPReferNotify, SIPRefer, SIPPublish, SIPNotify, SIPSubscribe, SIPRegister, SIPBye, SIPInvite, and SIPResponse.
|
static |
|
inline |
References m_connection.
|
inline |
References m_localInterface.
|
inline |
References m_transport.
|
inline |
References Cancelling, m_state, Terminated_Aborted, and Terminated_Cancelled.
|
inline |
References m_state, and Terminated_Success.
|
inline |
References m_state, Proceeding, and Trying.
|
inline |
References m_state, and Proceeding.
|
inline |
References m_state, and Terminated_Success.
|
virtual |
|
virtual |
Reimplemented in SIPInvite.
|
protected |
|
protected |
|
protected |
|
protected |
|
inline |
References m_localInterface.
|
protected |
|
protectedvirtual |
PBoolean SIPTransaction::Start | ( | ) |
void SIPTransaction::WaitForCompletion | ( | ) |
|
protected |
|
protected |
|
protected |
Referenced by GetConnection().
|
protected |
|
protected |
Referenced by GetInterface(), and SetInterface().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by IsCanceled(), IsCompleted(), IsFailed(), IsInProgress(), IsProceeding(), IsTerminated(), and IsTrying().
|
protected |
Referenced by GetTransport().