OpalSIPIMContext Class Reference

#include <sipim.h>

Inheritance diagram for OpalSIPIMContext:

[legend]
Collaboration diagram for OpalSIPIMContext:
[legend]

Public Member Functions

 OpalSIPIMContext ()
virtual bool Open (bool byRemote)
virtual bool SendCompositionIndication (const CompositionInfo &info)

Static Public Member Functions

static void OnMESSAGECompleted (SIPEndPoint &endpoint, const SIPMessage::Params &params, SIP_PDU::StatusCodes reason)
static void OnReceivedMESSAGE (SIPEndPoint &endpoint, SIPConnection *connection, SIP_PDU &pdu)

Protected Member Functions

virtual MessageDisposition InternalSendOutsideCall (OpalIM &message)
virtual MessageDisposition InternalSendInsideCall (OpalIM &message)
virtual MessageDisposition OnMessageReceived (const OpalIM &message)
virtual MessageDisposition InternalOnCompositionIndication (const OpalIM &message)
virtual MessageDisposition InternalOnDisposition (const OpalIM &message)
void PopulateParams (SIPMessage::Params &params, const OpalIM &message)
 PDECLARE_NOTIFIER (PTimer, OpalSIPIMContext, OnRxCompositionIdleTimer)
 PDECLARE_NOTIFIER (PTimer, OpalSIPIMContext, OnTxCompositionIdleTimer)

Protected Attributes

PString m_rxCompositionState
PTimer m_rxCompositionIdleTimeout
PString m_txCompositionState
PTimer m_txCompositionIdleTimeout
PSimpleTimer m_txCompositionRefreshTimeout
PTime m_lastActive

Detailed Description

Class representing a SIP Instant Messaging "conversation". This keeps the context for Instant Messages between two SIP entities. As there are, at least, three (and a half) different mechanisms for doing IM between two SIP endpoints these are chose via capabilities selected before calling OpalIMContext::Create()

SIP-IM Indicates RFC 3428 compliant messaging, using the SIP MESSAGE command. This may be done in call or out of call, the latter is the default. The in call mode is used if OpalIMEndPoint::Create() is given an existing SIPConnection in which to exchange messages. T.140 Indicates RFC 4103 compliant messaging, which is T.140 compliant text sent via RTP. This always requires an active connection, so one will be created if needed. MSRP Indicates RFC 4975 compliant messaging.

The selection on the method that is used is dependent on the applications active media formats.


Constructor & Destructor Documentation

OpalSIPIMContext::OpalSIPIMContext (  ) 


Member Function Documentation

virtual MessageDisposition OpalSIPIMContext::InternalOnCompositionIndication ( const OpalIM message  )  [protected, virtual]

virtual MessageDisposition OpalSIPIMContext::InternalOnDisposition ( const OpalIM message  )  [protected, virtual]

virtual MessageDisposition OpalSIPIMContext::InternalSendInsideCall ( OpalIM message  )  [protected, virtual]

Reimplemented from OpalIMContext.

virtual MessageDisposition OpalSIPIMContext::InternalSendOutsideCall ( OpalIM message  )  [protected, virtual]

Reimplemented from OpalIMContext.

static void OpalSIPIMContext::OnMESSAGECompleted ( SIPEndPoint endpoint,
const SIPMessage::Params params,
SIP_PDU::StatusCodes  reason 
) [static]

virtual MessageDisposition OpalSIPIMContext::OnMessageReceived ( const OpalIM message  )  [protected, virtual]

Called when an incoming message arrives for this context. Default implementation checks for valid MIME content and then calls the notifier, if set. If no notifier is set, then the OpalManager::OnMessageReceived() function is called.

Reimplemented from OpalIMContext.

static void OpalSIPIMContext::OnReceivedMESSAGE ( SIPEndPoint endpoint,
SIPConnection connection,
SIP_PDU pdu 
) [static]

virtual bool OpalSIPIMContext::Open ( bool  byRemote  )  [virtual]

Open the context (conversation) Default behaviour simply returns true.

Reimplemented from OpalIMContext.

OpalSIPIMContext::PDECLARE_NOTIFIER ( PTimer  ,
OpalSIPIMContext  ,
OnTxCompositionIdleTimer   
) [protected]

OpalSIPIMContext::PDECLARE_NOTIFIER ( PTimer  ,
OpalSIPIMContext  ,
OnRxCompositionIdleTimer   
) [protected]

void OpalSIPIMContext::PopulateParams ( SIPMessage::Params params,
const OpalIM message 
) [protected]

virtual bool OpalSIPIMContext::SendCompositionIndication ( const CompositionInfo &  info  )  [virtual]


Field Documentation

PTime OpalSIPIMContext::m_lastActive [protected]

PTimer OpalSIPIMContext::m_rxCompositionIdleTimeout [protected]

PString OpalSIPIMContext::m_rxCompositionState [protected]

PTimer OpalSIPIMContext::m_txCompositionIdleTimeout [protected]

PSimpleTimer OpalSIPIMContext::m_txCompositionRefreshTimeout [protected]

PString OpalSIPIMContext::m_txCompositionState [protected]


The documentation for this class was generated from the following file:
Generated on 21 Jun 2013 for OPAL by  doxygen 1.4.7