CSIPImplementation Class Reference

class CSIPImplementation : public CBase

Implementation class for connecting to SIP server.

Inherits from

Public Member Functions
~CSIPImplementation()
voidAddConnectionL(CSIPConnectionImplementation &, TUint32)
voidAddDigestL(CSIPHttpDigest &)
voidAddTransactionL(CSIPTransactionBase &)
voidChallengeReceivedInRefreshL(TUint32, TUint32, CSIPResponseElements *, MSIPHttpDigestChallengeObserver2 &)
voidChallengeReceivedL(TUint32, CSIPResponseElements *, MSIPHttpDigestChallengeObserver2 &)
CSIPClientConnection *ClientConnection()
CSIPClientConnection &ClientConnectionL()
CSIPConnection *Connection(TUint32)
CSIPClientTransaction *CreateTransactionL(TUint32, CSIPResponseElements *, CSIPRefresh *)
voidIgnoreChallenges(const CSIPClientTransaction &, CSIPHttpDigest &)
voidIncomingRequestL(TUint32, CSIPRequestElements *, TUint32)
CDialogState *InitialDialogState()
CRegistrationState *InitialRegisterState()
TBool IsSecurityHandlingEnabled()
TBool IsSigCompSupportedL()
HBufC8 *NegotiatedSecurityMechanismL(const TDesC8 &)
CSIPImplementation *NewL(const TUid &, MSIPObserver &)
voidRemoveConnection(const CSIPConnection &)
voidRemoveDigest(const CSIPHttpDigest &)
voidRemoveTransaction(const CSIPTransactionBase &)
CSIPClient &SIPClient()
CSIPConnection &SIPConnectionL()
voidSetSecurityHandlingL(TBool)
CDesC8Array *SupportedSecurityMechanismsL()
voidTimeOut(TUint32)
Private Member Functions
CSIPImplementation(MSIPObserver &)
voidConstructL(const TUid &)
UNIT_TEST(CSIP_Test)
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< CSIPConnection >iConnections
CDialogConfirmed *iDialogConfirmed
CDialogEarly *iDialogEarly
CDialogTerminated *iDialogTerminated
CDialogTrying *iDialogTrying
RPointerArray< CSIPHttpDigest >iDigests
MSIPObserver &iObserver
RPointerArray< CPendingTransaction >iPendingServerTransactions
CRegistered *iRegistered
CRegistering *iRegistering
CSIPClient *iSIPClient
TBool iSecurityHandlingEnabled
TUid iUid
CUnregistered *iUnregistered
CUnregistering *iUnregistering

Constructor & Destructor Documentation

CSIPImplementation(MSIPObserver &)

CSIPImplementation(MSIPObserver &aObserver)[private]

Parameters

MSIPObserver & aObserver

~CSIPImplementation()

~CSIPImplementation()

Destructor.

Member Functions Documentation

AddConnectionL(CSIPConnectionImplementation &, TUint32)

voidAddConnectionL(CSIPConnectionImplementation &aConnImplementation,
TUint32aIapId
)

Adds a new connection into CSIPImplementation.

Parameters

CSIPConnectionImplementation & aConnImplementationImplementation of the connection to add
TUint32 aIapIdIAP-id

AddDigestL(CSIPHttpDigest &)

voidAddDigestL(CSIPHttpDigest &aDigest)

Parameters

CSIPHttpDigest & aDigestCSIPHttpDigest object to attach

AddTransactionL(CSIPTransactionBase &)

voidAddTransactionL(CSIPTransactionBase &aTransaction)

Parameters

CSIPTransactionBase & aTransaction

ChallengeReceivedInRefreshL(TUint32, TUint32, CSIPResponseElements *, MSIPHttpDigestChallengeObserver2 &)

voidChallengeReceivedInRefreshL(TUint32aRefreshId,
TUint32aRequestId,
CSIPResponseElements *aResponse,
MSIPHttpDigestChallengeObserver2 &aObserver
)

Parameters

TUint32 aRefreshId
TUint32 aRequestId
CSIPResponseElements * aResponse
MSIPHttpDigestChallengeObserver2 & aObserver

ChallengeReceivedL(TUint32, CSIPResponseElements *, MSIPHttpDigestChallengeObserver2 &)

voidChallengeReceivedL(TUint32aRequestId,
CSIPResponseElements *aResponse,
MSIPHttpDigestChallengeObserver2 &aObserver
)

Parameters

TUint32 aRequestId
CSIPResponseElements * aResponse
MSIPHttpDigestChallengeObserver2 & aObserver

ClientConnection()

CSIPClientConnection *ClientConnection()

ClientConnectionL()

CSIPClientConnection &ClientConnectionL()

Connection(TUint32)

CSIPConnection *Connection(TUint32aIapId)const

Checks if the user has a connection created for given IAP-id

Parameters

TUint32 aIapIdIAP-id

ConstructL(const TUid &)

voidConstructL(const TUid &aUid)[private]

Parameters

const TUid & aUid

CreateTransactionL(TUint32, CSIPResponseElements *, CSIPRefresh *)

CSIPClientTransaction *CreateTransactionL(TUint32aRequestId,
CSIPResponseElements *aResponse,
CSIPRefresh *aRefresh
)

Parameters

TUint32 aRequestId
CSIPResponseElements * aResponse
CSIPRefresh * aRefresh

IgnoreChallenges(const CSIPClientTransaction &, CSIPHttpDigest &)

voidIgnoreChallenges(const CSIPClientTransaction &aTransaction,
CSIPHttpDigest &aDigest
)

Ignore each challenge present in the response in the transaction.

Parameters

const CSIPClientTransaction & aTransactionClient transaction
CSIPHttpDigest & aDigestHTTP digest

IncomingRequestL(TUint32, CSIPRequestElements *, TUint32)

voidIncomingRequestL(TUint32aIapId,
CSIPRequestElements *aElements,
TUint32aRequestId
)

Request has been received from network.

Parameters

TUint32 aIapIdIAP-id for which the user should create a CSIPConnection
CSIPRequestElements * aElementsSome SIP headers of the received request. Ownership is transferred.
TUint32 aRequestIdRequestId associated with the received request

InitialDialogState()

CDialogState *InitialDialogState()

Obtains the initial state for CSIPDialog

InitialRegisterState()

CRegistrationState *InitialRegisterState()

Obtains the initial state for CSIPRegistrations

IsSecurityHandlingEnabled()

TBool IsSecurityHandlingEnabled()const

IsSigCompSupportedL()

TBool IsSigCompSupportedL()const

Checks if the signalling compression (SigComp) is supported. Leaves on failure with a system wide error code.

NegotiatedSecurityMechanismL(const TDesC8 &)

HBufC8 *NegotiatedSecurityMechanismL(const TDesC8 &aHop)const

Gets negotiated security mechanism with the next hop on the signaling path.

Parameters

const TDesC8 & aHopthe next hop's FQDN or numeric IP address

NewL(const TUid &, MSIPObserver &)

CSIPImplementation *NewL(const TUid &aUid,
MSIPObserver &aObserver
)[static]

Two-phased constructor.

Parameters

const TUid & aUidan unique id that identifies client
MSIPObserver & aObservera observer for asynchronous event

RemoveConnection(const CSIPConnection &)

voidRemoveConnection(const CSIPConnection &aConnection)

Detach a connection from CSIPImplementation

Parameters

const CSIPConnection & aConnectionConnection to remove

RemoveDigest(const CSIPHttpDigest &)

voidRemoveDigest(const CSIPHttpDigest &aDigest)

Parameters

const CSIPHttpDigest & aDigestCSIPHttpDigest object to remove

RemoveTransaction(const CSIPTransactionBase &)

voidRemoveTransaction(const CSIPTransactionBase &aTransaction)

Parameters

const CSIPTransactionBase & aTransaction

SIPClient()

CSIPClient &SIPClient()

Obtains the used CSIPClient instance

SIPConnectionL()

CSIPConnection &SIPConnectionL()

SetSecurityHandlingL(TBool)

voidSetSecurityHandlingL(TBoolaEnabled)

Parameters

TBool aEnabled

SupportedSecurityMechanismsL()

CDesC8Array *SupportedSecurityMechanismsL()const

Gets all supported security mechanisms

TimeOut(TUint32)

voidTimeOut(TUint32aRequestId)

The transcation related to the received SIP request timed out and it has been destroyed. This happens if the user fails to create a SIP connection and does not send an appropriate SIP response.

Parameters

TUint32 aRequestIdRequestId of the request

UNIT_TEST(CSIP_Test)

UNIT_TEST(CSIP_Test)const [private]

Parameters

CSIP_Test

Member Data Documentation

RPointerArray< CSIPConnection > iConnections

RPointerArray< CSIPConnection >iConnections[private]

CDialogConfirmed * iDialogConfirmed

CDialogConfirmed *iDialogConfirmed[private]

CDialogEarly * iDialogEarly

CDialogEarly *iDialogEarly[private]

CDialogTerminated * iDialogTerminated

CDialogTerminated *iDialogTerminated[private]

CDialogTrying * iDialogTrying

CDialogTrying *iDialogTrying[private]

RPointerArray< CSIPHttpDigest > iDigests

RPointerArray< CSIPHttpDigest >iDigests[private]

MSIPObserver & iObserver

MSIPObserver &iObserver[private]

RPointerArray< CPendingTransaction > iPendingServerTransactions

RPointerArray< CPendingTransaction >iPendingServerTransactions[private]

CRegistered * iRegistered

CRegistered *iRegistered[private]

CRegistering * iRegistering

CRegistering *iRegistering[private]

CSIPClient * iSIPClient

CSIPClient *iSIPClient[private]

TBool iSecurityHandlingEnabled

TBool iSecurityHandlingEnabled[private]

TUid iUid

TUid iUid[private]

CUnregistered * iUnregistered

CUnregistered *iUnregistered[private]

CUnregistering * iUnregistering

CUnregistering *iUnregistering[private]