OPAL  Version 3.18.8
SIPHandlers Class Reference

#include <handlers.h>

Inherits PSafeDictionary< PString, SIPHandler >.

Public Member Functions

void Append (SIPHandler *handler)
 
void Remove (SIPHandler *handler)
 
void Update (SIPHandler *handler)
 
unsigned GetCount (SIP_PDU::Methods meth, const PString &eventPackage=PString::Empty()) const
 
PStringList GetAddresses (bool includeOffline, SIP_PDU::Methods meth, const PString &eventPackage=PString::Empty()) const
 
PSafePtr< SIPHandlerFindSIPHandlerByCallID (const PString &callID, PSafetyMode m)
 
PSafePtr< SIPHandlerFindSIPHandlerByAuthRealm (const PString &authRealm, PSafetyMode m)
 
PSafePtr< SIPHandlerFindSIPHandlerByAuthRealm (const PString &authRealm, const PString &userName, PSafetyMode m)
 
PSafePtr< SIPHandlerFindSIPHandlerByUrl (const PString &url, SIP_PDU::Methods meth, PSafetyMode m)
 
PSafePtr< SIPHandlerFindSIPHandlerByUrl (const PString &url, SIP_PDU::Methods meth, const PString &eventPackage, PSafetyMode m)
 
PSafePtr< SIPHandlerFindSIPHandlerByDomain (const PString &name, SIP_PDU::Methods meth, PSafetyMode m)
 

Protected Types

typedef SIPHandler::IndexMap IndexMap
 

Protected Member Functions

void RemoveIndexes (SIPHandler *handler)
 
PSafePtr< SIPHandlerFindBy (IndexMap &by, const PString &key, PSafetyMode m)
 

Protected Attributes

IndexMap m_byAorAndPackage
 
IndexMap m_byAuthIdAndRealm
 
IndexMap m_byAorUserAndRealm
 

Detailed Description

This dictionary is used both to contain the active and successful registrations, and subscriptions.

Member Typedef Documentation

Member Function Documentation

void SIPHandlers::Append ( SIPHandler handler)

Append a new handler to the list

PSafePtr<SIPHandler> SIPHandlers::FindBy ( IndexMap by,
const PString &  key,
PSafetyMode  m 
)
protected
PSafePtr<SIPHandler> SIPHandlers::FindSIPHandlerByAuthRealm ( const PString &  authRealm,
PSafetyMode  m 
)

Find the SIPHandler object with the specified authRealm

PSafePtr<SIPHandler> SIPHandlers::FindSIPHandlerByAuthRealm ( const PString &  authRealm,
const PString &  userName,
PSafetyMode  m 
)

Find the SIPHandler object with the specified authRealm & user

PSafePtr<SIPHandler> SIPHandlers::FindSIPHandlerByCallID ( const PString &  callID,
PSafetyMode  m 
)

Find the SIPHandler object with the specified callID

Referenced by SIPEndPoint::FindSIPHandlerByCallID().

PSafePtr<SIPHandler> SIPHandlers::FindSIPHandlerByDomain ( const PString &  name,
SIP_PDU::Methods  meth,
PSafetyMode  m 
)

Find the SIPHandler object with the specified registration host. For example, in the above case, the name parameter could be "sip.seconix.com" or "seconix.com".

PSafePtr<SIPHandler> SIPHandlers::FindSIPHandlerByUrl ( const PString &  url,
SIP_PDU::Methods  meth,
PSafetyMode  m 
)

Find the SIPHandler object with the specified URL. The url is the registration address, for example, 6001@.nosp@m.sip..nosp@m.secon.nosp@m.ix.c.nosp@m.om when registering 6001 to sip.seconix.com with realm seconix.com or 6001@.nosp@m.seco.nosp@m.nix.c.nosp@m.om when registering 6001@.nosp@m.seco.nosp@m.nix.c.nosp@m.om to sip.seconix.com

Referenced by SIPEndPoint::FindSIPHandlerByUrl().

PSafePtr<SIPHandler> SIPHandlers::FindSIPHandlerByUrl ( const PString &  url,
SIP_PDU::Methods  meth,
const PString &  eventPackage,
PSafetyMode  m 
)
PStringList SIPHandlers::GetAddresses ( bool  includeOffline,
SIP_PDU::Methods  meth,
const PString &  eventPackage = PString::Empty() 
) const

Return a list of the active address of records for each handler.

Referenced by SIPEndPoint::GetPublications(), SIPEndPoint::GetRegistrations(), and SIPEndPoint::GetSubscriptions().

unsigned SIPHandlers::GetCount ( SIP_PDU::Methods  meth,
const PString &  eventPackage = PString::Empty() 
) const

Return the number of registered accounts

Referenced by SIPEndPoint::GetRegistrationsCount(), and SIPEndPoint::GetSubscriptionCount().

void SIPHandlers::Remove ( SIPHandler handler)

Remove a handler from the list. Handler is not immediately deleted but marked for deletion later by DeleteObjectsToBeRemoved() when all references are done with the handler.

void SIPHandlers::RemoveIndexes ( SIPHandler handler)
protected
void SIPHandlers::Update ( SIPHandler handler)

Update indexes for handler in the list

Referenced by SIPEndPoint::UpdateHandlerIndexes().

Field Documentation

IndexMap SIPHandlers::m_byAorAndPackage
protected
IndexMap SIPHandlers::m_byAorUserAndRealm
protected
IndexMap SIPHandlers::m_byAuthIdAndRealm
protected

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