CMceSipSession Class Reference

class CMceSipSession : public CMceCsSubSession

This class represents SIP session

Class provides methods to handle SIP session specifig ITC functions and to receive SIP requests and responses.

Since

Inherits from

Public Member Functions
~CMceSipSession()
TMceActionSet Actions()
CMceComSession &ActiveBody()
voidAddRemoteUriFromResponseL(CSIPResponseElements &)
CMceComSession *Body()
CMceComSession *BodyCandidate()
TBool CanDispose()
voidCanceled()
voidCloseBodyBucket()
voidCloseMedia(TBool)
TBool Consumes(CSIPDialog &, CSIPServerTransaction &, TBool &)
voidContinueHandlingIncomingSessionL()
voidCreateDialogFrom3XXResponseL()
CSIPDialogAssocBase *CreateIncomingDialogL(CSIPServerTransaction &)
CSIPDialogAssocBase *CreateOutgoingDialogL(TMceDialogType, CDesC8Array &, CSIPDialog &)
CSIPDialogAssocBase *CreateOutgoingDialogL(TMceDialogType, CDesC8Array &)
CMceState &CurrentState(TBool)
CSIPDialogAssocBase *Dialog()
voidDiscardInvite()
voidDoConnectionStateChanged(TBool)
voidDoErrorOccured(TInt, CSIPTransactionBase &)
voidDoInitializeIncomingDialogL(CSIPServerTransaction &)
HBufC8 *DoServiceL(TMceIds &, TMceItcFunctions)
voidDoServiceL(TMceIds &, TMceItcFunctions, const TDesC8 &)
voidDoServiceL(TMceIds &, TMceItcFunctions, TPtr8 &)
voidDoServiceL(TMceIds &, TMceItcFunctions, CMceMsgBase &)
TBool DoesMediaManagerNeedToNegotiate(CSdpDocument *)
voidErrorOccured(TInt)
voidEventReceived(TMceMccComEvent &)
CMceSipExtensions &Extensions()
TMceFCActionSet FCActions()
voidFCErrorNotify(TInt, const CFCSession *)
voidFCReceivedData(HBufC8 *, const CFCSession *)
TBool ForceSDPSendingStatus()
voidForceUpdateStreamL()
TInt ForkedDialogsCount()
voidIncrementReceivedSdpCount()
voidIncrementSentSdpCount()
voidInviteCompleted(CSIPClientTransaction &)
voidInviteForkedL(CSIPClientTransaction &, CSIPInviteDialogAssoc *)
CSIPClientTransaction *InviteTransaction()
TBool IsNatDisabled()
TBool IsNatSession()
HBufC8 *MediaAuthorizationToken()
voidMediaError(TMceMccComEvent &)
TBool NatSession()
TInt NatState()
TBool NeedToReceive()
TBool NeedToSend(CSdpDocument *)
CMceSipSession *NewL(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &, CSIPProfile &)
CMceSipSession *NewLC(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &, CSIPProfile &)
CMceSipSession *NewLC(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &)
voidNextState(TUint)
voidNoPrackReceived(CSIPServerTransaction &)
CSdpDocument *Offer()
voidPrepareIdsL(TMceIds &)
CSdpDocument *PrevOffer()
TMceStateIndex PreviousState()
TInt RSeq()
voidReCreateOutgoingDialogL()
TInt ReUseDialog()
voidReliableFailed(CSIPServerTransaction &, TInt)
CMceReliableSender &ReliableSender()
TMceReturnStatus ReserveL()
voidReserved(CMceComSession &)
voidResetCurrentDialog()
voidResetSdpCounts()
voidSdpCleanup(CSdpDocument *, CSdpDocument *)
voidServerInitializedL()
voidSessionClosed(CMceComSession &)
voidSessionCreatedL(CMceComSession *)
voidSetBodyL(CMceComSession *)
voidSetFirstOffer()
voidSetMediaAuthorizationToken(HBufC8 *)
voidSetOffer(CSdpDocument *)
voidSetPrevOffer(CSdpDocument *)
voidSetRSeq(TUint)
voidSetSubState(TSubState)
voidSetWaitingMediaCallback(TBool)
voidStartPendingTimerL(TUint)
voidStartSessionTimerL()
voidStorePrevOffer()
TSubState SubState()
voidTimerExpiredL(TMceTimerId, TAny *)
voidUpdateAccepted()
TMceReturnStatus UpdateMediaL()
voidUpdateRejected()
voidUpdated(CMceComSession &)
TBool UseFC()
TBool WaitingMediaCallback()
Protected Member Functions
CMceSipSession(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &, CSIPProfile &)
CMceSipSession(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &)
TBool AcceptMethod(RStringF)
voidConstructL(CMceCsSession &)
voidErrorResponseReceived()
voidHandleSIPEvent(TMceSipEventCode, CSIPDialog &)
voidHandleSIPEventErrorL(TMceSipEventCode, TInt)
voidPrevOfferSafeDelete()
voidProvisionalResponseReceived()
voidRedirectionResponseReceived()
voidRequestReceived(TBool, CSIPDialog &)
voidResponseReceived()
voidStandAloneRequestReceived()
voidStandAloneResponseReceived(TMceSipResponseType)
TBool Terminate()
Private Member Functions
voidAddRemoteUriL(const CUri8 &)
voidClearRemoteUri(const TMceStateIndex)
voidDoAutoEventL(TMceStateTransitionEvent &)
CSIPInviteDialogAssoc *DoCreateOutgoingDialogL(CUri8 *, CSIPToHeader *)
voidDoTerminateL()
TInt FindRemoteUri(const CUri8 &)
voidHandleForkedDialogs()
TBool IsSipDialogConfirmed()
voidLocalErrorOccured(TMceStateIndex, TInt)
TMceSipEventCode MethodCode(RStringF)
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()
CMceCsSubSession::AcceptDialogTransaction(CSIPServerTransaction &)
CMceCsSubSession::AcceptStandAloneTransaction(CSIPServerTransaction &)
CMceCsSubSession::AutoEvent()
CMceCsSubSession::CMceCsSubSession(TMceCsSessionType,CMceCsSession &,CMceSipConnection &)
CMceCsSubSession::CMceCsSubSession(TMceCsSessionType,CMceCsSession &,CMceSipConnection &,CSIPProfile &)
CMceCsSubSession::Client()const
CMceCsSubSession::ClientExists()
CMceCsSubSession::ClientType()const
CMceCsSubSession::ConnectionStateChanged(CSIPConnection::TState)
CMceCsSubSession::Consumes(CSIPTransactionBase &)
CMceCsSubSession::DefaultHeaders(TInt)
CMceCsSubSession::DialogId()const
CMceCsSubSession::DialogRequestReceived(CSIPServerTransaction *,CSIPDialog &)
CMceCsSubSession::DialogResponseReceived(CSIPClientTransaction &)
CMceCsSubSession::ErrorOccured(TInt,CSIPTransactionBase &)
CMceCsSubSession::FCSession()const
CMceCsSubSession::HasInitialInviteTransactionBeenCompleted()const
CMceCsSubSession::InitialRequest()const
CMceCsSubSession::InitializeIncomingDialogL(CSIPServerTransaction *)
CMceCsSubSession::IsOrphan()
CMceCsSubSession::IsProfileContactSecureL()
CMceCsSubSession::Manager()const
CMceCsSubSession::MessageRequestReceived(CSIPServerTransaction *)
CMceCsSubSession::MessageResponseReceived(CSIPClientTransaction &)
CMceCsSubSession::NextHopL(TInetAddr &)
CMceCsSubSession::PendingReceivedRequests()
CMceCsSubSession::PendingTransaction(RStringF)
CMceCsSubSession::PendingTransactions()
CMceCsSubSession::PopClientContent()
CMceCsSubSession::PopRequest()
CMceCsSubSession::PopResponse()
CMceCsSubSession::Profile()const
CMceCsSubSession::ProfileConfigured()const
CMceCsSubSession::RemoveCompletedRequests(TBool)
CMceCsSubSession::RemovePendingTrx(CSIPClientTransaction &)
CMceCsSubSession::Request()const
CMceCsSubSession::ResetInitialInvite()
CMceCsSubSession::Response()const
CMceCsSubSession::ResponseReceivedWithinDialog(CSIPClientTransaction &,CSIPDialogAssocBase &)
CMceCsSubSession::SIPConnection()const
CMceCsSubSession::SendErrorToClient(TMceIds &,TInt)
CMceCsSubSession::SendToClient(TMceIds &)
CMceCsSubSession::SendToClientL(TMceIds &,HBufC8 *,HBufC8 *)
CMceCsSubSession::ServerCore()const
CMceCsSubSession::ServiceL(TMceIds &,TMceItcFunctions,const RMessage2 &)
CMceCsSubSession::SetAutoEvent(TBool)
CMceCsSubSession::SetDialog(TType,CSIPDialogAssocBase *,TUint32)
CMceCsSubSession::SetPendingTransactionL(CSIPClientTransaction *)
CMceCsSubSession::SetProfile(CSIPProfile &)
CMceCsSubSession::StoreAutoEventL(TMceStateTransitionEvent *,CSIPServerTransaction *)
CMceCsSubSession::StoreClientContent(HBufC8 *)
CMceCsSubSession::StoredAutoEvent()
CMceCsSubSession::Type()const
CMceCsSubSession::~CMceCsSubSession()
Public Member Enumerations
enumTSubState { ENone, EOffering, EAnswering, EUpdating, ERefreshing }
Inherited Enumerations
CMceCsSubSession:TType
Protected Attributes
CSdpDocument *iFirstOffer
TBool iForceSDPSending
TBool iNatSession
CSdpDocument *iOffer
CSdpDocument *iPrevOffer
Private Attributes
CMceComSession *iBody
RPointerArray< CMceComSession >iBodyBucket
CMceState *iCurrentState
CMceState *iExitState
CMceSipExtensions *iExtensions
RPointerArray< CSIPInviteDialogAssoc >iForkedDialogs
HBufC8 *iMediaAuthorizationToken
CMceComSession *iNewBodyCandidate
TMceTimerId iPendingTimer
TUint iPreviousState
TUint iRSeq
TInt iReceivedSdpCount
CMceReliableSender *iReliableSender
RPointerArray< CUri8 >iRemoteUri
TInt iSentSdpCount
CMceSipStateMachine *iStateMachine
TSubState iSubState
TMceTimerId iTimer
TBool iUseFC
TBool iWaitingMediaCallback
Inherited Attributes
CMceCsSubSession::iAutoEvent
CMceCsSubSession::iAutoEventAssociatedRequest
CMceCsSubSession::iAutoEventEnabled
CMceCsSubSession::iAutoEventIds
CMceCsSubSession::iAutoEventMsg
CMceCsSubSession::iCurrentDialog
CMceCsSubSession::iCurrentlyProcessedAutoEvent
CMceCsSubSession::iDialog
CMceCsSubSession::iFCSession
CMceCsSubSession::iPendingReceivedRequests
CMceCsSubSession::iPendingTransactions

Constructor & Destructor Documentation

CMceSipSession(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &, CSIPProfile &)

CMceSipSession(CMceCsSession &aClientSession,
CMceSipConnection &aSIPConnection,
CMceSipStateMachine &aStateMachine,
CSIPProfile &aProfile
)[protected]

Parameters

CMceCsSession & aClientSession
CMceSipConnection & aSIPConnection
CMceSipStateMachine & aStateMachine
CSIPProfile & aProfile

CMceSipSession(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &)

CMceSipSession(CMceCsSession &aClientSession,
CMceSipConnection &aSIPConnection,
CMceSipStateMachine &aStateMachine
)[protected]

Parameters

CMceCsSession & aClientSession
CMceSipConnection & aSIPConnection
CMceSipStateMachine & aStateMachine

~CMceSipSession()

~CMceSipSession()

Destructor.

Member Functions Documentation

AcceptMethod(RStringF)

TBool AcceptMethod(RStringFaMethod)[protected, virtual]

Checks if session accepts method of incoming request

Parameters

RStringF aMethodthe method

Actions()

TMceActionSet Actions()

Returns actions set

ActiveBody()

CMceComSession &ActiveBody()

Returns active session body

AddRemoteUriFromResponseL(CSIPResponseElements &)

voidAddRemoteUriFromResponseL(CSIPResponseElements &aResponseElements)

Add the URIs in the Contact headers of aResponseElements

Parameters

CSIPResponseElements & aResponseElements

AddRemoteUriL(const CUri8 &)

voidAddRemoteUriL(const CUri8 &aRemoteUri)[private]

Parameters

const CUri8 & aRemoteUri

Body()

CMceComSession *Body()

Returns session body

BodyCandidate()

CMceComSession *BodyCandidate()

Returns session body candidate

CanDispose()

TBool CanDispose()[virtual]

Returns ETrue, if session can be deleted

Canceled()

voidCanceled()[virtual]

Handles situation where incoming INVITE was canceled with the CANCEL

ClearRemoteUri(const TMceStateIndex)

voidClearRemoteUri(const TMceStateIndexaState)[private]

Parameters

const TMceStateIndex aState

CloseBodyBucket()

voidCloseBodyBucket()

CloseMedia(TBool)

voidCloseMedia(TBoolaDelete = EFalse)

Parameters

TBool aDelete = EFalse

ConstructL(CMceCsSession &)

voidConstructL(CMceCsSession &aClientSession)[protected]

Parameters

CMceCsSession & aClientSession

Consumes(CSIPDialog &, CSIPServerTransaction &, TBool &)

TBool Consumes(CSIPDialog &aDialog,
CSIPServerTransaction &aTransaction,
TBool &aAssociatesWithDialog
)[virtual]

Returns ETrue, if session will consume the transaction

Parameters

CSIPDialog & aDialogSIP dialog
CSIPServerTransaction & aTransactionthe pending transaction
TBool & aAssociatesWithDialog

ContinueHandlingIncomingSessionL()

voidContinueHandlingIncomingSessionL()

CreateDialogFrom3XXResponseL()

voidCreateDialogFrom3XXResponseL()

Create outgoing dialog from 3xx response

CreateIncomingDialogL(CSIPServerTransaction &)

CSIPDialogAssocBase *CreateIncomingDialogL(CSIPServerTransaction &aInitialRequest)[virtual]

Creates new incoming dialog (association)

Parameters

CSIPServerTransaction & aInitialRequestrequest causing creation

CreateOutgoingDialogL(TMceDialogType, CDesC8Array &, CSIPDialog &)

CSIPDialogAssocBase *CreateOutgoingDialogL(TMceDialogTypeaDialogType,
CDesC8Array &aParams,
CSIPDialog &aExistingDialog
)[virtual]

Creates outgoing dialog (association) based on given parameters

Parameters

TMceDialogType aDialogTypetype of new dialog
CDesC8Array & aParamsparameters for creation
CSIPDialog & aExistingDialog

CreateOutgoingDialogL(TMceDialogType, CDesC8Array &)

CSIPDialogAssocBase *CreateOutgoingDialogL(TMceDialogTypeaDialogType,
CDesC8Array &aParams
)[virtual]

Creates outgoing dialog (association) based on given parameters

Parameters

TMceDialogType aDialogTypetype of new dialog
CDesC8Array & aParamsparameters for creation

CurrentState(TBool)

CMceState &CurrentState(TBoolaMarkExit = EFalse)

Returns current state

Parameters

TBool aMarkExit = EFalseindicates, if current state is marked as exit state

Dialog()

CSIPDialogAssocBase *Dialog()const [virtual]

Returns SIP dialog (assoc)

DiscardInvite()

voidDiscardInvite()

Discards invite

DoAutoEventL(TMceStateTransitionEvent &)

voidDoAutoEventL(TMceStateTransitionEvent &aEvent)[private]

Parameters

TMceStateTransitionEvent & aEvent

DoConnectionStateChanged(TBool)

voidDoConnectionStateChanged(TBoolaIsActive)[virtual]

Handles situation where SIP connection state has changed. If connection state has changed to EInactive or EUnavailable, SIP stack terminates all pending SIP client transactions and no errors are reported back to the client about the terminated transactions.

Parameters

TBool aIsActiveindicates if the current connection is active

DoCreateOutgoingDialogL(CUri8 *, CSIPToHeader *)

CSIPInviteDialogAssoc *DoCreateOutgoingDialogL(CUri8 *remoteURI,
CSIPToHeader *to = 0
)[private]

Parameters

CUri8 * remoteURI
CSIPToHeader * to = 0

DoErrorOccured(TInt, CSIPTransactionBase &)

voidDoErrorOccured(TIntaError,
CSIPTransactionBase &aTransaction
)[virtual]

Handles situation where an asynchronous error has occured related to a request within an existing dialog.

Parameters

TInt aErrorerror code
CSIPTransactionBase & aTransactionthe transaction

DoInitializeIncomingDialogL(CSIPServerTransaction &)

voidDoInitializeIncomingDialogL(CSIPServerTransaction &aTransaction)[virtual]

Initializes incoming dialog

Parameters

CSIPServerTransaction & aTransactionserver transaction representing a request, which caused dialog creation

DoServiceL(TMceIds &, TMceItcFunctions)

HBufC8 *DoServiceL(TMceIds &aIds,
TMceItcFunctionsaFunction
)[virtual]

Executes ITC function called by client.

Parameters

TMceIds & aIdsset of ids defining ITC call context
TMceItcFunctions aFunctionITC function to be executed

DoServiceL(TMceIds &, TMceItcFunctions, const TDesC8 &)

voidDoServiceL(TMceIds &aIds,
TMceItcFunctionsaFunction,
const TDesC8 &aMessage
)[virtual]

Executes ITC function called by client.

Parameters

TMceIds & aIdsset of ids defining ITC call context
TMceItcFunctions aFunctionITC function to be executed
const TDesC8 & aMessagemessage context from client

DoServiceL(TMceIds &, TMceItcFunctions, TPtr8 &)

voidDoServiceL(TMceIds &aIds,
TMceItcFunctionsaFunction,
TPtr8 &aMessage
)[virtual]

Executes ITC function called by client.

Parameters

TMceIds & aIdsset of ids defining ITC call context
TMceItcFunctions aFunctionITC function to be executed
TPtr8 & aMessagemessage context from client

DoServiceL(TMceIds &, TMceItcFunctions, CMceMsgBase &)

voidDoServiceL(TMceIds &aIds,
TMceItcFunctionsaFunction,
CMceMsgBase &aMessage
)[virtual]

Executes ITC function called by client.

Parameters

TMceIds & aIdsset of ids defining ITC call context
TMceItcFunctions aFunctionITC function to be executed
CMceMsgBase & aMessagedecoded message context from client

DoTerminateL()

voidDoTerminateL()[private]

DoesMediaManagerNeedToNegotiate(CSdpDocument *)

TBool DoesMediaManagerNeedToNegotiate(CSdpDocument *aSdpDocument)

Parameters

CSdpDocument * aSdpDocument

ErrorOccured(TInt)

voidErrorOccured(TIntaError)[virtual]

Called when error has been occured within dialog

Parameters

TInt aErrorerror code

ErrorResponseReceived()

voidErrorResponseReceived()[protected, virtual]

Called when error response (4XX-7XX) has been received to pending transaction. Response can be obtained by calling Response() method

EventReceived(TMceMccComEvent &)

voidEventReceived(TMceMccComEvent &aEvent)

Callback function to indicate that event has been received

Parameters

TMceMccComEvent & aEvent

Extensions()

CMceSipExtensions &Extensions()

Returns the SIP extensions.

FCActions()

TMceFCActionSet FCActions()

Returns floor control actions set

FCErrorNotify(TInt, const CFCSession *)

voidFCErrorNotify(TIntaErrCode,
const CFCSession *aFCSession
)

An asynchronous error has occurred in the FC related to the given session indicated.

Parameters

TInt aErrCode
const CFCSession * aFCSessionThe Session which error is received to.

FCReceivedData(HBufC8 *, const CFCSession *)

voidFCReceivedData(HBufC8 *aData,
const CFCSession *aFCSession
)

A FC message has been received from the network.

Parameters

HBufC8 * aDataThe Data received from FCsession specific plugIn The ownership is transferred.
const CFCSession * aFCSessionThe Session which data is received to.

FindRemoteUri(const CUri8 &)

TInt FindRemoteUri(const CUri8 &aRemoteUri)[private]

Parameters

const CUri8 & aRemoteUri

ForceSDPSendingStatus()

TBool ForceSDPSendingStatus()

Returns Status for ForcedSDPSending Flag.

ForceUpdateStreamL()

voidForceUpdateStreamL()

ForkedDialogsCount()

TInt ForkedDialogsCount()

HandleForkedDialogs()

voidHandleForkedDialogs()[private]

HandleSIPEvent(TMceSipEventCode, CSIPDialog &)

voidHandleSIPEvent(TMceSipEventCodeaEventCode,
CSIPDialog &aDialog
)[protected, virtual]

Parameters

TMceSipEventCode aEventCode
CSIPDialog & aDialog

HandleSIPEventErrorL(TMceSipEventCode, TInt)

voidHandleSIPEventErrorL(TMceSipEventCodeaEventCode,
TIntaError
)[protected]

Parameters

TMceSipEventCode aEventCode
TInt aError

IncrementReceivedSdpCount()

voidIncrementReceivedSdpCount()

IncrementSentSdpCount()

voidIncrementSentSdpCount()

InviteCompleted(CSIPClientTransaction &)

voidInviteCompleted(CSIPClientTransaction &aTransaction)[virtual]

Handles situation where 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.

Parameters

CSIPClientTransaction & aTransactionclient transaction representing a response

InviteForkedL(CSIPClientTransaction &, CSIPInviteDialogAssoc *)

voidInviteForkedL(CSIPClientTransaction &aTransaction,
CSIPInviteDialogAssoc *aDialogAssoc
)

Invite has been received multiple replies and thus stack has creted new dialog for others

Parameters

CSIPClientTransaction & aTransactionThe original invite transaction.
CSIPInviteDialogAssoc * aDialogAssocnew dialog

InviteTransaction()

CSIPClientTransaction *InviteTransaction()

Returns pending invite transaction

IsNatDisabled()

TBool IsNatDisabled()const [virtual]

Check if the NAT has been disabled.

IsNatSession()

TBool IsNatSession()

IsSipDialogConfirmed()

TBool IsSipDialogConfirmed()const [private]

Returns dialog confirmation status

LocalErrorOccured(TMceStateIndex, TInt)

voidLocalErrorOccured(TMceStateIndexaNewState,
TIntaWithError
)[private]

Parameters

TMceStateIndex aNewState
TInt aWithError

MediaAuthorizationToken()

HBufC8 *MediaAuthorizationToken()const

Returns the media authorization token. Ownership is not transfered.

MediaError(TMceMccComEvent &)

voidMediaError(TMceMccComEvent &aEvent)

Callback function to indicate about error

Parameters

TMceMccComEvent & aEvent

MethodCode(RStringF)

TMceSipEventCode MethodCode(RStringFmethod)[private]

Parameters

RStringF method

NatSession()

TBool NatSession()const [virtual]

Method used to check if sip session is a Nat sip sesssion.

NatState()

TInt NatState()const [virtual]

Returns Nat sip session sub state.

NeedToReceive()

TBool NeedToReceive()

Returns whether a SDP is expected to be received

NeedToSend(CSdpDocument *)

TBool NeedToSend(CSdpDocument *aSdpDocument)

Tells whether SDP to be sent to network.

Parameters

CSdpDocument * aSdpDocument

NewL(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &, CSIPProfile &)

CMceSipSession *NewL(CMceCsSession &aClientSession,
CMceSipConnection &aSIPConnection,
CMceSipStateMachine &aStateMachine,
CSIPProfile &aProfile
)[static]

Two-phased constructor.

Parameters

CMceCsSession & aClientSessionclient
CMceSipConnection & aSIPConnectionSIP connection
CMceSipStateMachine & aStateMachineSIP session state machine
CSIPProfile & aProfileSIP Profile

NewLC(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &, CSIPProfile &)

CMceSipSession *NewLC(CMceCsSession &aClientSession,
CMceSipConnection &aSIPConnection,
CMceSipStateMachine &aStateMachine,
CSIPProfile &aProfile
)[static]

Two-phased constructor.

Parameters

CMceCsSession & aClientSessionclient
CMceSipConnection & aSIPConnectionSIP connection
CMceSipStateMachine & aStateMachineSIP session state machine
CSIPProfile & aProfileSIP Profile

NewLC(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &)

CMceSipSession *NewLC(CMceCsSession &aClientSession,
CMceSipConnection &aSIPConnection,
CMceSipStateMachine &aStateMachine
)[static]

Two-phased constructor.

Parameters

CMceCsSession & aClientSessionclient
CMceSipConnection & aSIPConnectionSIP connection
CMceSipStateMachine & aStateMachineSIP session state machine

NextState(TUint)

voidNextState(TUintaNextStateId)

Sets next state

Parameters

TUint aNextStateIdnext state id

NoPrackReceived(CSIPServerTransaction &)

voidNoPrackReceived(CSIPServerTransaction &aTransaction)

Callback Function, this will be called when reliable sender, retransmission timer expires, i.e. reliable sender has sent transaction for 64T1 and has not got the corresponding PRACK.

Parameters

CSIPServerTransaction & aTransaction

Offer()

CSdpDocument *Offer()[virtual]

Returns last offer (or answer) issued to session

PrepareIdsL(TMceIds &)

voidPrepareIdsL(TMceIds &aIds)const

Prepares ITC callback context

Parameters

TMceIds & aIdsset of ids defining ITC callback context

PrevOffer()

CSdpDocument *PrevOffer()[virtual]

Returns one before last offer (or answer) issued to session

PrevOfferSafeDelete()

voidPrevOfferSafeDelete()[protected]

PreviousState()

TMceStateIndex PreviousState()

Returns the previous state of sip session

ProvisionalResponseReceived()

voidProvisionalResponseReceived()[protected, virtual]

Called when response (1XX) has been received to pending transaction. Response can be obtained by calling Response() method

RSeq()

TInt RSeq()

Gets the RSeq Value

ReCreateOutgoingDialogL()

voidReCreateOutgoingDialogL()

Re-Create an outgoing dialog

ReUseDialog()

TInt ReUseDialog()

Re-Use dialog

RedirectionResponseReceived()

voidRedirectionResponseReceived()[protected, virtual]

Called when response (3XX) has been received to pending transaction. Response can be obtained by calling Response() method

ReliableFailed(CSIPServerTransaction &, TInt)

voidReliableFailed(CSIPServerTransaction &aTransaction,
TIntaError
)

Callback Function indicates reliable sender has failed. This may be called when a transaction is in progress and UA tries to send another reliable response.

Parameters

CSIPServerTransaction & aTransaction
TInt aError

ReliableSender()

CMceReliableSender &ReliableSender()

Returns Reliable Sender

RequestReceived(TBool, CSIPDialog &)

voidRequestReceived(TBoolaInsideDialog,
CSIPDialog &aDialog
)[protected, virtual]

Called when request has been received. Request can be obtained by calling Request() method

Parameters

TBool aInsideDialogtells whether request was received inside dialog
CSIPDialog & aDialogSIP Dialog to which request belongs

ReserveL()

TMceReturnStatus ReserveL()[virtual]

Resource Reservation Status

Reserved(CMceComSession &)

voidReserved(CMceComSession &aSession)

Callback function to indicate that network resource reservation is now ready

Parameters

CMceComSession & aSession

ResetCurrentDialog()

voidResetCurrentDialog()

ResetSdpCounts()

voidResetSdpCounts()

ResponseReceived()

voidResponseReceived()[protected, virtual]

Called when response (2XX) has been received to pending transaction. Response can be obtained by calling Response() method

SdpCleanup(CSdpDocument *, CSdpDocument *)

voidSdpCleanup(CSdpDocument *aPrevious,
CSdpDocument *aReplacement
)

Change currently used sdp

Parameters

CSdpDocument * aPrevious
CSdpDocument * aReplacement

ServerInitializedL()

voidServerInitializedL()

SessionClosed(CMceComSession &)

voidSessionClosed(CMceComSession &aSession)

Callback function to indicate MCC session was stopped

Parameters

CMceComSession & aSessionsession body

SessionCreatedL(CMceComSession *)

voidSessionCreatedL(CMceComSession *aSession)

Callback function to indicate about new media session due fork

Parameters

CMceComSession * aSession

SetBodyL(CMceComSession *)

voidSetBodyL(CMceComSession *aSession = NULL)

Create body

Parameters

CMceComSession * aSession = NULL

SetFirstOffer()

voidSetFirstOffer()

SetMediaAuthorizationToken(HBufC8 *)

voidSetMediaAuthorizationToken(HBufC8 *aToken)

Sets the media authorization token. Ownership is transfered. aToken the media authorization token

Parameters

HBufC8 * aToken

SetOffer(CSdpDocument *)

voidSetOffer(CSdpDocument *aSdpDocument)[virtual]

Sets the latest offer

Parameters

CSdpDocument * aSdpDocumentthe latest offer

SetPrevOffer(CSdpDocument *)

voidSetPrevOffer(CSdpDocument *aSdpDocument)[virtual]

Sets the previous offer

Parameters

CSdpDocument * aSdpDocumentthe latest offer

SetRSeq(TUint)

voidSetRSeq(TUintaRSeq)

Sets the RSeq Value. aRSeq RSeq Value

Parameters

TUint aRSeq

SetSubState(TSubState)

voidSetSubState(TSubStateaSubState)

Sets substate of session

Parameters

TSubState aSubStatesubstate of session

SetWaitingMediaCallback(TBool)

voidSetWaitingMediaCallback(TBoolaWaiting)

Sets the boolean value whether the session is waiting for a media callback

Parameters

TBool aWaitingthe value to be set

StandAloneRequestReceived()

voidStandAloneRequestReceived()[protected, virtual]

Called when stand-alone request has been received. Request can be obtained by calling Request() method

StandAloneResponseReceived(TMceSipResponseType)

voidStandAloneResponseReceived(TMceSipResponseTypeaResponseType)[protected, virtual]

Called when stand-alone response (any) has been received to pending transaction. Response can be obtained by calling Response() method

Parameters

TMceSipResponseType aResponseTyperesponse type

StartPendingTimerL(TUint)

voidStartPendingTimerL(TUintaInterval)

Starts the pending timer

Parameters

TUint aIntervalinterval in milli seconds

StartSessionTimerL()

voidStartSessionTimerL()

Starts the session timer

StorePrevOffer()

voidStorePrevOffer()[virtual]

Sets the latest offer

SubState()

TSubState SubState()

Returns substate of session

Terminate()

TBool Terminate()[protected, virtual]

Handles situation where session must be forcefully terminated

TimerExpiredL(TMceTimerId, TAny *)

voidTimerExpiredL(TMceTimerIdaTimerId,
TAny *aTimerParam
)

Callback function to indicate about expiration of session timer. RFC 4028

Parameters

TMceTimerId aTimerIdtimer Id
TAny * aTimerParamtimer param

UpdateAccepted()

voidUpdateAccepted()

Causes pending update to be accepted

UpdateMediaL()

TMceReturnStatus UpdateMediaL()[virtual]

Updates media

UpdateRejected()

voidUpdateRejected()

Causes pending update to be rejected

Updated(CMceComSession &)

voidUpdated(CMceComSession &aSession)[virtual]

Callback function to indicate MCC session is updated.

Parameters

CMceComSession & aSessionsession body

UseFC()

TBool UseFC()

Returns truth value, is FC in use or not. Set to ETrue, when initializing FC for MO sessions and when updating FC for MT sessions.

WaitingMediaCallback()

TBool WaitingMediaCallback()const

Returns as a boolean value whether the session is waiting for a media callback

Member Enumerations Documentation

Enum TSubState

Enumerators

ENone
EOffering
EAnswering
EUpdating
ERefreshing

Member Data Documentation

CMceComSession * iBody

CMceComSession *iBody[private]

RPointerArray< CMceComSession > iBodyBucket

RPointerArray< CMceComSession >iBodyBucket[private]

CMceState * iCurrentState

CMceState *iCurrentState[private]

CMceState * iExitState

CMceState *iExitState[private]

CMceSipExtensions * iExtensions

CMceSipExtensions *iExtensions[private]

CSdpDocument * iFirstOffer

CSdpDocument *iFirstOffer[protected]

TBool iForceSDPSending

TBool iForceSDPSending[protected]

RPointerArray< CSIPInviteDialogAssoc > iForkedDialogs

RPointerArray< CSIPInviteDialogAssoc >iForkedDialogs[private]

HBufC8 * iMediaAuthorizationToken

HBufC8 *iMediaAuthorizationToken[private]

TBool iNatSession

TBool iNatSession[protected]

CMceComSession * iNewBodyCandidate

CMceComSession *iNewBodyCandidate[private]

CSdpDocument * iOffer

CSdpDocument *iOffer[protected]

TMceTimerId iPendingTimer

TMceTimerId iPendingTimer[private]

CSdpDocument * iPrevOffer

CSdpDocument *iPrevOffer[protected]

TUint iPreviousState

TUint iPreviousState[private]

TUint iRSeq

TUint iRSeq[private]

TInt iReceivedSdpCount

TInt iReceivedSdpCount[private]

CMceReliableSender * iReliableSender

CMceReliableSender *iReliableSender[private]

RPointerArray< CUri8 > iRemoteUri

RPointerArray< CUri8 >iRemoteUri[private]

TInt iSentSdpCount

TInt iSentSdpCount[private]

CMceSipStateMachine * iStateMachine

CMceSipStateMachine *iStateMachine[private]

TSubState iSubState

TSubState iSubState[private]

TMceTimerId iTimer

TMceTimerId iTimer[private]

TBool iUseFC

TBool iUseFC[private]

TBool iWaitingMediaCallback

TBool iWaitingMediaCallback[private]