OPAL Version 3.10.2
SIPHandler Class Reference

#include <handlers.h>

Inheritance diagram for SIPHandler:
SIPMessageHandler SIPNotifyHandler SIPOptionsHandler SIPPingHandler SIPPublishHandler SIPRegisterHandler SIPSubscribeHandler

Public Types

enum  State {
  Subscribed, Subscribing, Unavailable, Refreshing,
  Restoring, Unsubscribing, Unsubscribed, NumStates
}

Public Member Functions

 ~SIPHandler ()
virtual Comparison Compare (const PObject &other) const
virtual bool ShutDown ()
void SetState (SIPHandler::State s)
SIPHandler::State GetState ()
virtual OpalTransportGetTransport ()
virtual SIPAuthenticationGetAuthentication ()
virtual const SIPURLGetAddressOfRecord ()
virtual PBoolean OnReceivedNOTIFY (SIP_PDU &response)
virtual void SetExpire (int e)
virtual int GetExpire ()
virtual PString GetCallID ()
virtual void SetBody (const PString &)
virtual bool IsDuplicateCSeq (unsigned)
virtual SIPTransactionCreateTransaction (OpalTransport &t)=0
SIP_PDU::Methods GetMethod () const
virtual SIPSubscribe::EventPackage GetEventPackage () const
virtual void OnReceivedResponse (SIPTransaction &transaction, SIP_PDU &response)
virtual void OnReceivedIntervalTooBrief (SIPTransaction &transaction, SIP_PDU &response)
virtual void OnReceivedTemporarilyUnavailable (SIPTransaction &transaction, SIP_PDU &response)
virtual void OnReceivedAuthenticationRequired (SIPTransaction &transaction, SIP_PDU &response)
virtual void OnReceivedOK (SIPTransaction &transaction, SIP_PDU &response)
virtual void OnTransactionFailed (SIPTransaction &transaction)
virtual void OnFailed (const SIP_PDU &response)
virtual void OnFailed (SIP_PDU::StatusCodes)
bool ActivateState (SIPHandler::State state)
virtual bool SendNotify (const PObject *)
SIPEndPointGetEndPoint () const
const OpalProductInfoGetProductInfo () const
const PString & GetUsername () const
const PString & GetPassword () const
const PString & GetRealm () const
const SIPURLGetRemoteAddress () const
const SIPURLGetProxy () const

Data Fields

SIPMIMEInfo m_mime

Protected Types

typedef std::map< PString,
PSafePtr< SIPHandler > > 
IndexMap

Protected Member Functions

 SIPHandler (SIP_PDU::Methods method, SIPEndPoint &ep, const SIPParameters &params)
virtual PBoolean SendRequest (SIPHandler::State state)
void RetryLater (unsigned after)
 PDECLARE_NOTIFIER (PTimer, SIPHandler, OnExpireTimeout)
virtual bool WriteSIPHandler (OpalTransport &transport, bool forked)

Static Protected Member Functions

static PBoolean WriteSIPHandler (OpalTransport &transport, void *info)

Protected Attributes

SIPEndPointendpoint
SIPAuthenticationauthentication
PString m_username
PString m_password
PString m_realm
PSafeList< SIPTransactionm_transactions
OpalTransportm_transport
SIP_PDU::Methods m_method
SIPURL m_addressOfRecord
SIPURL m_remoteAddress
PString callID
int expire
int originalExpire
int offlineExpire
unsigned authenticationAttempts
State m_state
queue< Statem_stateQueue
bool m_receivedResponse
PTimer expireTimer
PTimeInterval retryTimeoutMin
PTimeInterval retryTimeoutMax
SIPURL m_proxy
OpalProductInfo m_productInfo
std::pair< IndexMap::iterator,
bool > 
m_byCallID
std::pair< IndexMap::iterator,
bool > 
m_byAorAndPackage
std::pair< IndexMap::iterator,
bool > 
m_byAuthIdAndRealm
std::pair< IndexMap::iterator,
bool > 
m_byAorUserAndRealm

Friends

class SIPHandlersList

Member Typedef Documentation

typedef std::map<PString, PSafePtr<SIPHandler> > SIPHandler::IndexMap [protected]

Member Enumeration Documentation

Enumerator:
Subscribed 
Subscribing 
Unavailable 
Refreshing 
Restoring 
Unsubscribing 
Unsubscribed 
NumStates 

Constructor & Destructor Documentation

SIPHandler::SIPHandler ( SIP_PDU::Methods  method,
SIPEndPoint ep,
const SIPParameters params 
) [protected]
SIPHandler::~SIPHandler ( )

Member Function Documentation

bool SIPHandler::ActivateState ( SIPHandler::State  state)
virtual Comparison SIPHandler::Compare ( const PObject &  other) const [virtual]
virtual SIPTransaction* SIPHandler::CreateTransaction ( OpalTransport t) [pure virtual]
virtual const SIPURL& SIPHandler::GetAddressOfRecord ( ) [inline, virtual]

References m_addressOfRecord.

virtual SIPAuthentication* SIPHandler::GetAuthentication ( ) [inline, virtual]

References authentication.

virtual PString SIPHandler::GetCallID ( ) [inline, virtual]

References callID.

SIPEndPoint& SIPHandler::GetEndPoint ( ) const [inline]

References endpoint.

virtual SIPSubscribe::EventPackage SIPHandler::GetEventPackage ( ) const [inline, virtual]
virtual int SIPHandler::GetExpire ( ) [inline, virtual]

References expire.

SIP_PDU::Methods SIPHandler::GetMethod ( ) const [inline]

References m_method.

const PString& SIPHandler::GetPassword ( ) const [inline]

References m_password.

const OpalProductInfo& SIPHandler::GetProductInfo ( ) const [inline]

References m_productInfo.

const SIPURL& SIPHandler::GetProxy ( ) const [inline]

References m_proxy.

const PString& SIPHandler::GetRealm ( ) const [inline]

References m_realm.

const SIPURL& SIPHandler::GetRemoteAddress ( ) const [inline]

References m_remoteAddress.

SIPHandler::State SIPHandler::GetState ( ) [inline]

References m_state.

virtual OpalTransport* SIPHandler::GetTransport ( ) [virtual]
const PString& SIPHandler::GetUsername ( ) const [inline]

References m_username.

virtual bool SIPHandler::IsDuplicateCSeq ( unsigned  ) [inline, virtual]

Reimplemented in SIPSubscribeHandler, and SIPNotifyHandler.

virtual void SIPHandler::OnFailed ( const SIP_PDU response) [virtual]

Reimplemented in SIPSubscribeHandler, and SIPOptionsHandler.

virtual void SIPHandler::OnFailed ( SIP_PDU::StatusCodes  ) [virtual]
virtual void SIPHandler::OnReceivedAuthenticationRequired ( SIPTransaction transaction,
SIP_PDU response 
) [virtual]
virtual void SIPHandler::OnReceivedIntervalTooBrief ( SIPTransaction transaction,
SIP_PDU response 
) [virtual]
virtual PBoolean SIPHandler::OnReceivedNOTIFY ( SIP_PDU response) [virtual]

Reimplemented in SIPSubscribeHandler.

virtual void SIPHandler::OnReceivedOK ( SIPTransaction transaction,
SIP_PDU response 
) [virtual]
virtual void SIPHandler::OnReceivedResponse ( SIPTransaction transaction,
SIP_PDU response 
) [virtual]
virtual void SIPHandler::OnReceivedTemporarilyUnavailable ( SIPTransaction transaction,
SIP_PDU response 
) [virtual]
virtual void SIPHandler::OnTransactionFailed ( SIPTransaction transaction) [virtual]
SIPHandler::PDECLARE_NOTIFIER ( PTimer  ,
SIPHandler  ,
OnExpireTimeout   
) [protected]
void SIPHandler::RetryLater ( unsigned  after) [protected]
virtual bool SIPHandler::SendNotify ( const PObject *  ) [inline, virtual]

Reimplemented in SIPNotifyHandler.

virtual PBoolean SIPHandler::SendRequest ( SIPHandler::State  state) [protected, virtual]
virtual void SIPHandler::SetBody ( const PString &  ) [inline, virtual]

Reimplemented in SIPNotifyHandler, and SIPPublishHandler.

virtual void SIPHandler::SetExpire ( int  e) [virtual]
void SIPHandler::SetState ( SIPHandler::State  s)
virtual bool SIPHandler::ShutDown ( ) [virtual]
virtual bool SIPHandler::WriteSIPHandler ( OpalTransport transport,
bool  forked 
) [protected, virtual]

Reimplemented in SIPSubscribeHandler, and SIPNotifyHandler.

static PBoolean SIPHandler::WriteSIPHandler ( OpalTransport transport,
void *  info 
) [static, protected]

Friends And Related Function Documentation

friend class SIPHandlersList [friend]

Field Documentation

unsigned SIPHandler::authenticationAttempts [protected]
PString SIPHandler::callID [protected]

Referenced by GetCallID().

Referenced by GetEndPoint().

int SIPHandler::expire [protected]

Referenced by GetExpire().

PTimer SIPHandler::expireTimer [protected]
std::pair<IndexMap::iterator, bool> SIPHandler::m_byAorAndPackage [protected]
std::pair<IndexMap::iterator, bool> SIPHandler::m_byAorUserAndRealm [protected]
std::pair<IndexMap::iterator, bool> SIPHandler::m_byAuthIdAndRealm [protected]
std::pair<IndexMap::iterator, bool> SIPHandler::m_byCallID [protected]
PString SIPHandler::m_password [protected]

Referenced by GetPassword().

Referenced by GetProxy().

PString SIPHandler::m_realm [protected]

Referenced by GetRealm().

Referenced by GetState().

queue<State> SIPHandler::m_stateQueue [protected]
PString SIPHandler::m_username [protected]

Referenced by GetUsername().

int SIPHandler::offlineExpire [protected]
int SIPHandler::originalExpire [protected]
PTimeInterval SIPHandler::retryTimeoutMax [protected]
PTimeInterval SIPHandler::retryTimeoutMin [protected]

The documentation for this class was generated from the following file: