CMceSipConnection Class Reference

class CMceSipConnection : public CBase

MCE SIP Connection.

Since

Inherits from

Public Member Functions
~CMceSipConnection ()
TUint32 AccessPointId ()
void AttachL ( CMceCsSubSession &)
CSIPConnection & Connection ()
void ConnectionStateChanged ( CSIPConnection::TState )
TInt Detach ( CMceCsSubSession &)
void ErrorOccured ( TInt , CSIPTransactionBase &)
void ErrorOccured ( TInt , CSIPClientTransaction &, CSIPRegistrationBinding &)
void ErrorOccured ( TInt , CSIPTransactionBase &, CSIPDialogAssocBase &)
void ErrorOccured ( TInt , CSIPRefresh &)
void ErrorOccured ( TInt , CSIPRegistrationBinding &)
void ErrorOccured ( TInt , CSIPDialogAssocBase &)
TInetAddr IPAddressL ( TUint32 )
void IncomingRequest ( CSIPServerTransaction *)
void IncomingRequest ( CSIPServerTransaction *, CSIPDialog &)
void IncomingResponse ( CSIPClientTransaction &)
void IncomingResponse ( CSIPClientTransaction &, CSIPDialogAssocBase &)
void IncomingResponse ( CSIPClientTransaction &, CSIPInviteDialogAssoc *)
void IncomingResponse ( CSIPClientTransaction &, CSIPRegistrationBinding &)
void InviteCanceled ( CSIPServerTransaction &)
void InviteCompleted ( CSIPClientTransaction &)
TBool IsProfileUsedInSession ( CSIPProfile &)
TInetAddr LocalIPAddressL ( TInetAddr *)
CMceSipConnection * NewLC ( CMceSipManager &, CSIPProfile &, CSIPProfileRegistry &)
CMceSipConnection * NewLC ( CMceSipManager &, TUint32 )
CSIPConnection::TState State ()
void UpdateConnectionL ( TUint )
Private Member Functions
CMceSipConnection ( CMceSipManager &, CSIPProfile &)
CMceSipConnection ( CMceSipManager &, TUint32 )
void ConstructL ( CSIPProfile &, CSIPProfileRegistry &)
void ConstructL ()
void FillWithMatchingAddrFamily ( TInetAddr &, const TInetAddr *)
void Reject ( CSIPInviteDialogAssoc *)
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
CSIPConnection * iClientConnection
TUint iCurrentSignallingTypeOfService
TUint32 iIAPId
CMceLocalAddrResolver * iLocalAddrResolver
CMceSipManager & iSessionManager
RPointerArray < CMceCsSubSession > iSessions

Constructor & Destructor Documentation

CMceSipConnection(CMceSipManager &, CSIPProfile &)

CMceSipConnection ( CMceSipManager & aSessionManager,
CSIPProfile & aProfile
) [private]

Parameters

CMceSipManager & aSessionManager
CSIPProfile & aProfile

CMceSipConnection(CMceSipManager &, TUint32)

CMceSipConnection ( CMceSipManager & aSessionManager,
TUint32 aIAPId
) [private]

Parameters

CMceSipManager & aSessionManager
TUint32 aIAPId

~CMceSipConnection()

~CMceSipConnection ( )

Destructor.

Member Functions Documentation

AccessPointId()

TUint32 AccessPointId ( ) const

return access point id

AttachL(CMceCsSubSession &)

void AttachL ( CMceCsSubSession & aSession )

Attach session to this connection Leaves, if SIP connection is not active or session is allready attached

Parameters

CMceCsSubSession & aSession session

Connection()

CSIPConnection & Connection ( ) const

return connection

ConnectionStateChanged(CSIPConnection::TState)

void ConnectionStateChanged ( CSIPConnection::TState aState )

Connection state has changed. If connection state has changed to EInactive or EUnavailable, SIP stack has removed all stand-alone SIP refreshes, registrations and dialog associations that client requested to refresh. Client may re-issue refresh requests (stand-alone, registration or dialog association related) when connection becomes EActive again. SIP stack also terminates all pending SIP client transactions and no errors are reported back to the client about the terminated transactions nor about removed refreshes in order to avoid event flood.

Parameters

CSIPConnection::TState aState indicates the current connection state

ConstructL(CSIPProfile &, CSIPProfileRegistry &)

void ConstructL ( CSIPProfile & aProfile,
CSIPProfileRegistry & aProfileRegistry
) [private]

Parameters

CSIPProfile & aProfile
CSIPProfileRegistry & aProfileRegistry

ConstructL()

void ConstructL ( ) [private]

Detach(CMceCsSubSession &)

TInt Detach ( CMceCsSubSession & aSession )

De-Attach session to this connection

Parameters

CMceCsSubSession & aSession session

ErrorOccured(TInt, CSIPTransactionBase &)

void ErrorOccured ( TInt aError,
CSIPTransactionBase & aTransaction
)

An asynchronous error has occurred in the stack related to the request indicated by the given transaction.

Parameters

TInt aError system wide or SIP error code
CSIPTransactionBase & aTransaction failed transaction

ErrorOccured(TInt, CSIPClientTransaction &, CSIPRegistrationBinding &)

void ErrorOccured ( TInt aError,
CSIPClientTransaction & aTransaction,
CSIPRegistrationBinding & aRegistration
)

An asynchronous error has occurred in the stack related to the request indicated by the given transaction.

Parameters

TInt aError system wide or SIP error code
CSIPClientTransaction & aTransaction the failed transaction
CSIPRegistrationBinding & aRegistration the failed registration binding

ErrorOccured(TInt, CSIPTransactionBase &, CSIPDialogAssocBase &)

void ErrorOccured ( TInt aError,
CSIPTransactionBase & aTransaction,
CSIPDialogAssocBase & aDialogAssoc
)

An asynchronous error has occured related to a request within an existing dialog.

Parameters

TInt aError system wide or SIP error code
CSIPTransactionBase & aTransaction the failed transaction.
CSIPDialogAssocBase & aDialogAssoc the failed dialog associoation.

ErrorOccured(TInt, CSIPRefresh &)

void ErrorOccured ( TInt aError,
CSIPRefresh & aSIPRefresh
)

An asynchronous error has occured related to a refresh

Parameters

TInt aError system wide or SIP error code
CSIPRefresh & aSIPRefresh original refresh object.

ErrorOccured(TInt, CSIPRegistrationBinding &)

void ErrorOccured ( TInt aError,
CSIPRegistrationBinding & aRegistration
)

An asynchronous error has occured related to a periodical refresh that relates to a registration.

Parameters

TInt aError system wide or SIP error code; KErrCouldNotConnect if the refresh has failed due to the suspended connection.
CSIPRegistrationBinding & aRegistration associated registration binding

ErrorOccured(TInt, CSIPDialogAssocBase &)

void ErrorOccured ( TInt aError,
CSIPDialogAssocBase & aDialogAssoc
)

An asynchronous error has occured related to a periodical refresh that belongs to SIP dialog association.

Parameters

TInt aError system wide or SIP error code; KErrCouldNotConnect if the refresh has failed due to the suspended connection.
CSIPDialogAssocBase & aDialogAssoc SIP dialog association.

FillWithMatchingAddrFamily(TInetAddr &, const TInetAddr *)

void FillWithMatchingAddrFamily ( TInetAddr & aAddr,
const TInetAddr * aNextHop
) [private]

Parameters

TInetAddr & aAddr
const TInetAddr * aNextHop

IPAddressL(TUint32)

TInetAddr IPAddressL ( TUint32 aIapId ) [static]

Gets IP address of IAP

Parameters

TUint32 aIapId

IncomingRequest(CSIPServerTransaction *)

void IncomingRequest ( CSIPServerTransaction * aTransaction )

A SIP request outside a dialog has been received from the network.

Pre-condition
aTransaction != 0

Parameters

CSIPServerTransaction * aTransaction SIP server transaction. The ownership is transferred.

IncomingRequest(CSIPServerTransaction *, CSIPDialog &)

void IncomingRequest ( CSIPServerTransaction * aTransaction,
CSIPDialog & aDialog
)

A SIP request within a dialog has been received from the network. The client must resolve the actual dialog association to which this request belongs.

Pre-condition
aTransaction != 0

Parameters

CSIPServerTransaction * aTransaction SIP server transaction. The ownership is transferred.
CSIPDialog & aDialog the dialog that this transaction belongs to.

IncomingResponse(CSIPClientTransaction &)

void IncomingResponse ( CSIPClientTransaction & aTransaction )

A SIP response received from the network.

Parameters

CSIPClientTransaction & aTransaction contains response elements.

IncomingResponse(CSIPClientTransaction &, CSIPDialogAssocBase &)

void IncomingResponse ( CSIPClientTransaction & aTransaction,
CSIPDialogAssocBase & aDialogAssoc
)

A SIP response received from the network that is within a dialog association or creates a dialog association.

Parameters

CSIPClientTransaction & aTransaction contains response elements.
CSIPDialogAssocBase & aDialogAssoc a dialog association.

IncomingResponse(CSIPClientTransaction &, CSIPInviteDialogAssoc *)

void IncomingResponse ( CSIPClientTransaction & aTransaction,
CSIPInviteDialogAssoc * aDialogAssoc
)

Multiple SIP responses have been received to the single INVITE due to the forking proxy. Note that each response creates a separate INVITE dialog association. Multiple responses can arrive until SIP stack completes UAC core INVITE transaction. If clients deletes INVITE transaction after first SIP response other possible responses will be consumed by the implementation.

Parameters

CSIPClientTransaction & aTransaction contains response elements
CSIPInviteDialogAssoc * aDialogAssoc INVITE dialog association; the ownership is transferred

IncomingResponse(CSIPClientTransaction &, CSIPRegistrationBinding &)

void IncomingResponse ( CSIPClientTransaction & aTransaction,
CSIPRegistrationBinding & aRegistration
)

A SIP response related a registration binding or an error response that is related to registration binding has been received from the network.

Parameters

CSIPClientTransaction & aTransaction contains response elements
CSIPRegistrationBinding & aRegistration registration binding this transaction belongs to

InviteCanceled(CSIPServerTransaction &)

void InviteCanceled ( CSIPServerTransaction & aTransaction )

Invite was canceled with the CANCEL

Parameters

CSIPServerTransaction & aTransaction a canceled INVITE UAS transaction

InviteCompleted(CSIPClientTransaction &)

void InviteCompleted ( CSIPClientTransaction & aTransaction )

SIP stack has completed UAC core INVITE transaction 64*T1 seconds after the reception of the first 2xx response. No more 2xx responses can be received to the issued single INVITE.

If the INVITE transaction does not create a dialog, or the INVITE transaction encounters an error, this event will not be sent.

Parameters

CSIPClientTransaction & aTransaction a complete UAC core INVITE transaction

IsProfileUsedInSession(CSIPProfile &)

TBool IsProfileUsedInSession ( CSIPProfile & aProfile )

Numbers of sessions

Parameters

CSIPProfile & aProfile

LocalIPAddressL(TInetAddr *)

TInetAddr LocalIPAddressL ( TInetAddr * aNextHop )

Gets local IP address of the connection

Parameters

TInetAddr * aNextHop

NewLC(CMceSipManager &, CSIPProfile &, CSIPProfileRegistry &)

CMceSipConnection * NewLC ( CMceSipManager & aSessionManager,
CSIPProfile & aProfile,
CSIPProfileRegistry & aProfileRegistry
) [static]

Two-phased constructor.

Parameters

CMceSipManager & aSessionManager
CSIPProfile & aProfile
CSIPProfileRegistry & aProfileRegistry

NewLC(CMceSipManager &, TUint32)

CMceSipConnection * NewLC ( CMceSipManager & aSessionManager,
TUint32 aIAPId
) [static]

Two-phased constructor.

Parameters

CMceSipManager & aSessionManager
TUint32 aIAPId

Reject(CSIPInviteDialogAssoc *)

void Reject ( CSIPInviteDialogAssoc * aDialogAssoc ) [private]

Parameters

CSIPInviteDialogAssoc * aDialogAssoc

State()

CSIPConnection::TState State ( ) const

State of connection

of connection

UpdateConnectionL(TUint)

void UpdateConnectionL ( TUint aSignallingTypeOfService )

Sets signalling type of service for connection if profile is not used.

Parameters

TUint aSignallingTypeOfService

Member Data Documentation

CSIPConnection * iClientConnection

CSIPConnection * iClientConnection [private]

TUint iCurrentSignallingTypeOfService

TUint iCurrentSignallingTypeOfService [private]

TUint32 iIAPId

TUint32 iIAPId [private]

CMceLocalAddrResolver * iLocalAddrResolver

CMceLocalAddrResolver * iLocalAddrResolver [private]

CMceSipManager & iSessionManager

CMceSipManager & iSessionManager [private]

RPointerArray< CMceCsSubSession > iSessions

RPointerArray < CMceCsSubSession > iSessions [private]