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) |
Static Public Member Functions |
| static PString | GenerateCallID () |
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 |
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.