CSIPRegistrationBindingStore Class Reference

class CSIPRegistrationBindingStore : public CBase

Inherits from

  • CSIPRegistrationBindingStore
Public Member Functions
~CSIPRegistrationBindingStore()
voidAddBindingL(CSIPRegistrationBindingBase *)
TBool CheckRequestURI(CURIContainer &)
TInt ClearRegistrationOwner(const MRegistrationOwner *)
voidDetachBinding(CSIPRegistrationBindingBase *)
CSIPRegistrationBindingBase *FindBinding(const MRegistrationOwner &, CSIPRequest &)
CSIPRegistrationBindingBase *FindBinding(const TRegistrationId &, const MRegistrationOwner *)
const CSIPRegistrationBindingBase *FindBindingForTransaction(const TTransactionId &)
TBool FindContactByFromL(const CSIPFromToHeaderBase *, CSIPContactHeader &)
TBool HasOutboundProxy(TRegistrationId)
TBool IsOutboundProxy(const CURIContainer &)
CSIPRegistrationBindingStore *NewL(CSIPRegistrarStore &)
CSIPRegistrationBindingStore *NewLC(CSIPRegistrarStore &)
TRegistrationId NextRegistrationId()
const CSIPRouteHeader *OutboundProxy(TRegistrationId)
TBool RegisterPendingToAOR(const CURIContainer &)
CSIPRegistrarStore &RegistrarStore()
TInt RemoveBinding(const CSIPRegistrationBindingBase *)
TInt RemoveBinding(const TRegistrationId &, const MRegistrationOwner *)
voidRemoveBindingByIAPId(const TUint32)
TInt RemoveOutboundProxy(const TRegistrationId &, const MRegistrationOwner *)
voidSetOutboundProxyL(const TRegistrationId &, CSIPRouteHeader *, const MRegistrationOwner *)
voidURIFailed(CURIContainer &)
Private Member Functions
CSIPRegistrationBindingStore(CSIPRegistrarStore &)
TBool CompareUri(const CURIContainer &, CURIContainer &)
voidConstructL()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Attributes
RPointerArray< CSIPRegistrationBindingBase >iBindings
CDeleteMgr *iDeleteMgr
TRegistrationId iNextRegistrationId
CSIPRegistrarStore &iRegistrarStore

Constructor & Destructor Documentation

CSIPRegistrationBindingStore(CSIPRegistrarStore &)

CSIPRegistrationBindingStore(CSIPRegistrarStore &aRegistrarStore)[private]

Parameters

CSIPRegistrarStore & aRegistrarStore

~CSIPRegistrationBindingStore()

~CSIPRegistrationBindingStore()

Member Functions Documentation

AddBindingL(CSIPRegistrationBindingBase *)

voidAddBindingL(CSIPRegistrationBindingBase *aBinding)

Parameters

CSIPRegistrationBindingBase * aBinding

CheckRequestURI(CURIContainer &)

TBool CheckRequestURI(CURIContainer &aRequestUri)

Checks if the RequestURI passed as a parameter equals to the Uri in one of contact headers in the bindings.

Parameters

CURIContainer & aRequestUri

ClearRegistrationOwner(const MRegistrationOwner *)

TInt ClearRegistrationOwner(const MRegistrationOwner *aRegistrationOwner)

when registration owner stored in binding is same as the one passed as parameter. remove the binding if the binding is not pending, otherwise assign RegistrationOwner contained in binding to 0.

Parameters

const MRegistrationOwner * aRegistrationOwner

CompareUri(const CURIContainer &, CURIContainer &)

TBool CompareUri(const CURIContainer &aProxy,
CURIContainer &aUri
)[private]

Compares the two URIs It checks the host part and port part of the URI If the port is default port, the check is ignored

Parameters

const CURIContainer & aProxythe outboundproxy in the reg binding
CURIContainer & aUrithe failed URI before resolving

ConstructL()

voidConstructL()[private]

DetachBinding(CSIPRegistrationBindingBase *)

voidDetachBinding(CSIPRegistrationBindingBase *aBinding)

Parameters

CSIPRegistrationBindingBase * aBinding

FindBinding(const MRegistrationOwner &, CSIPRequest &)

CSIPRegistrationBindingBase *FindBinding(const MRegistrationOwner &aRegistrationOwner,
CSIPRequest &aSIPRequest
)

Find the binding by giving the MTransactionOwner and register request.

Parameters

const MRegistrationOwner & aRegistrationOwner
CSIPRequest & aSIPRequest

FindBinding(const TRegistrationId &, const MRegistrationOwner *)

CSIPRegistrationBindingBase *FindBinding(const TRegistrationId &aRegistrationId,
const MRegistrationOwner *aOwner = NULL
)

Find the binding by ID and owner.

Parameters

const TRegistrationId & aRegistrationId
const MRegistrationOwner * aOwner = NULLthe owner that must match to the original owner used if not NULL.

FindBindingForTransaction(const TTransactionId &)

const CSIPRegistrationBindingBase *FindBindingForTransaction(const TTransactionId &aTransactionId)

Find a registration binding by transaction id.

Parameters

const TTransactionId & aTransactionIdtransaction id.

FindContactByFromL(const CSIPFromToHeaderBase *, CSIPContactHeader &)

TBool FindContactByFromL(const CSIPFromToHeaderBase *aFromToHeader,
CSIPContactHeader &aContact
)

Fills the hostport in the Contact-header. If the user part is not filled in the Contact-header, fills it with a copy from a registration binding found

Parameters

const CSIPFromToHeaderBase * aFromToHeader
CSIPContactHeader & aContact

HasOutboundProxy(TRegistrationId)

TBool HasOutboundProxy(TRegistrationIdaRegistrationId)

check if OutboundProxy exists from the binding by passing TRegistrationId.

Parameters

TRegistrationId aRegistrationId

IsOutboundProxy(const CURIContainer &)

TBool IsOutboundProxy(const CURIContainer &aUri)

Function checks if the given SIP-URI is a URI of ANY outbound proxy stored in Registrations.

Parameters

const CURIContainer & aUrithe URI to check

NewL(CSIPRegistrarStore &)

CSIPRegistrationBindingStore *NewL(CSIPRegistrarStore &aRegistrarStore)[static]

Create a instance of CSIPRegistrationBindingStore.

Parameters

CSIPRegistrarStore & aRegistrarStore

NewLC(CSIPRegistrarStore &)

CSIPRegistrationBindingStore *NewLC(CSIPRegistrarStore &aRegistrarStore)[static]

Create a instance of CSIPRegistrationBindingStore and push it to CleanupStack.

Parameters

CSIPRegistrarStore & aRegistrarStore

NextRegistrationId()

TRegistrationId NextRegistrationId()

Get next TRegistrationId.

OutboundProxy(TRegistrationId)

const CSIPRouteHeader *OutboundProxy(TRegistrationIdaRegistrationId)

Get OutboundProxy from the binding found by passing TRegistrationId.

Pre-condition
HasOutboundProxy(aRegistrationId) == ETrue

Parameters

TRegistrationId aRegistrationId

RegisterPendingToAOR(const CURIContainer &)

TBool RegisterPendingToAOR(const CURIContainer &aAOR)

find pending registrtions to the same AOR given as parameter.

Parameters

const CURIContainer & aAOR

RegistrarStore()

CSIPRegistrarStore &RegistrarStore()

Get registrar store.

RemoveBinding(const CSIPRegistrationBindingBase *)

TInt RemoveBinding(const CSIPRegistrationBindingBase *aBinding)

Remove the binding by giving a CSIPRegistrationBaseClass.

Parameters

const CSIPRegistrationBindingBase * aBinding

RemoveBinding(const TRegistrationId &, const MRegistrationOwner *)

TInt RemoveBinding(const TRegistrationId &aRegistrationId,
const MRegistrationOwner *aOwner
)

Remove the binding by giving a registraion id.

Parameters

const TRegistrationId & aRegistrationId
const MRegistrationOwner * aOwnerthe owner that must match to the original owner

RemoveBindingByIAPId(const TUint32)

voidRemoveBindingByIAPId(const TUint32aIapId)

Remove the binding by giving a IAP id.

Parameters

const TUint32 aIapId

RemoveOutboundProxy(const TRegistrationId &, const MRegistrationOwner *)

TInt RemoveOutboundProxy(const TRegistrationId &aRegistrationId,
const MRegistrationOwner *aOwner
)

Remove the OutboundProxy from the binding if it can be found by using the registrationid passed as parameter.

Parameters

const TRegistrationId & aRegistrationId
const MRegistrationOwner * aOwnerthe owner that must match to the original owner

SetOutboundProxyL(const TRegistrationId &, CSIPRouteHeader *, const MRegistrationOwner *)

voidSetOutboundProxyL(const TRegistrationId &aRegistrationId,
CSIPRouteHeader *aOutboundProxy,
const MRegistrationOwner *aOwner
)

Function sets an outbound proxy for a registration binding. Leaves if the binding was not found.

Pre-condition
aOutboundProxy != 0

Parameters

const TRegistrationId & aRegistrationId
CSIPRouteHeader * aOutboundProxy
const MRegistrationOwner * aOwnerthe owner that must match to the original owner

URIFailed(CURIContainer &)

voidURIFailed(CURIContainer &aUri)

Resolving or sending a SIP request to a URI has failed. If this is an outbound proxy URI of an existing registration binding, removes the corresponding binding immediately.

Parameters

CURIContainer & aUrithe failed URI before resolving

Member Data Documentation

RPointerArray< CSIPRegistrationBindingBase > iBindings

RPointerArray< CSIPRegistrationBindingBase >iBindings[private]

CDeleteMgr * iDeleteMgr

CDeleteMgr *iDeleteMgr[private]

TRegistrationId iNextRegistrationId

TRegistrationId iNextRegistrationId[private]

CSIPRegistrarStore & iRegistrarStore

CSIPRegistrarStore &iRegistrarStore[private]