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 ()
void AddRemoteUriFromResponseL ( CSIPResponseElements &)
CMceComSession * Body ()
CMceComSession * BodyCandidate ()
TBool CanDispose ()
void Canceled ()
void CloseBodyBucket ()
void CloseMedia ( TBool )
TBool Consumes ( CSIPDialog &, CSIPServerTransaction &, TBool &)
void ContinueHandlingIncomingSessionL ()
void CreateDialogFrom3XXResponseL ()
CSIPDialogAssocBase * CreateIncomingDialogL ( CSIPServerTransaction &)
CSIPDialogAssocBase * CreateOutgoingDialogL ( TMceDialogType , CDesC8Array &, CSIPDialog &)
CSIPDialogAssocBase * CreateOutgoingDialogL ( TMceDialogType , CDesC8Array &)
CMceState & CurrentState ( TBool )
CSIPDialogAssocBase * Dialog ()
void DiscardInvite ()
void DoConnectionStateChanged ( TBool )
void DoErrorOccured ( TInt , CSIPTransactionBase &)
void DoInitializeIncomingDialogL ( CSIPServerTransaction &)
HBufC8 * DoServiceL ( TMceIds &, TMceItcFunctions )
void DoServiceL ( TMceIds &, TMceItcFunctions , const TDesC8 &)
void DoServiceL ( TMceIds &, TMceItcFunctions , TPtr8 &)
void DoServiceL ( TMceIds &, TMceItcFunctions , CMceMsgBase &)
TBool DoesMediaManagerNeedToNegotiate ( CSdpDocument *)
void ErrorOccured ( TInt )
void EventReceived ( TMceMccComEvent &)
CMceSipExtensions & Extensions ()
TMceFCActionSet FCActions ()
void FCErrorNotify ( TInt , const CFCSession *)
void FCReceivedData ( HBufC8 *, const CFCSession *)
TBool ForceSDPSendingStatus ()
void ForceUpdateStreamL ()
TInt ForkedDialogsCount ()
void IncrementReceivedSdpCount ()
void IncrementSentSdpCount ()
void InviteCompleted ( CSIPClientTransaction &)
void InviteForkedL ( CSIPClientTransaction &, CSIPInviteDialogAssoc *)
CSIPClientTransaction * InviteTransaction ()
TBool IsNatDisabled ()
TBool IsNatSession ()
HBufC8 * MediaAuthorizationToken ()
void MediaError ( 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 &)
void NextState ( TUint )
void NoPrackReceived ( CSIPServerTransaction &)
CSdpDocument * Offer ()
void PrepareIdsL ( TMceIds &)
CSdpDocument * PrevOffer ()
TMceStateIndex PreviousState ()
TInt RSeq ()
void ReCreateOutgoingDialogL ()
TInt ReUseDialog ()
void ReliableFailed ( CSIPServerTransaction &, TInt )
CMceReliableSender & ReliableSender ()
TMceReturnStatus ReserveL ()
void Reserved ( CMceComSession &)
void ResetCurrentDialog ()
void ResetSdpCounts ()
void SdpCleanup ( CSdpDocument *, CSdpDocument *)
void ServerInitializedL ()
void SessionClosed ( CMceComSession &)
void SessionCreatedL ( CMceComSession *)
void SetBodyL ( CMceComSession *)
void SetFirstOffer ()
void SetMediaAuthorizationToken ( HBufC8 *)
void SetOffer ( CSdpDocument *)
void SetPrevOffer ( CSdpDocument *)
void SetRSeq ( TUint )
void SetSubState ( TSubState )
void SetWaitingMediaCallback ( TBool )
void StartPendingTimerL ( TUint )
void StartSessionTimerL ()
void StorePrevOffer ()
TSubState SubState ()
void TimerExpiredL ( TMceTimerId , TAny *)
void UpdateAccepted ()
TMceReturnStatus UpdateMediaL ()
void UpdateRejected ()
void Updated ( CMceComSession &)
TBool UseFC ()
TBool WaitingMediaCallback ()
Protected Member Functions
CMceSipSession ( CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &, CSIPProfile &)
CMceSipSession ( CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &)
TBool AcceptMethod ( RStringF )
void ConstructL ( CMceCsSession &)
void ErrorResponseReceived ()
void HandleSIPEvent ( TMceSipEventCode , CSIPDialog &)
void HandleSIPEventErrorL ( TMceSipEventCode , TInt )
void PrevOfferSafeDelete ()
void ProvisionalResponseReceived ()
void RedirectionResponseReceived ()
void RequestReceived ( TBool , CSIPDialog &)
void ResponseReceived ()
void StandAloneRequestReceived ()
void StandAloneResponseReceived ( TMceSipResponseType )
TBool Terminate ()
Private Member Functions
void AddRemoteUriL (const CUri8 &)
void ClearRemoteUri (const TMceStateIndex )
void DoAutoEventL ( TMceStateTransitionEvent &)
CSIPInviteDialogAssoc * DoCreateOutgoingDialogL ( CUri8 *, CSIPToHeader *)
void DoTerminateL ()
TInt FindRemoteUri (const CUri8 &)
void HandleForkedDialogs ()
TBool IsSipDialogConfirmed ()
void LocalErrorOccured ( 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
enum TSubState { 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 ( RStringF aMethod ) [protected, virtual]

Checks if session accepts method of incoming request

Parameters

RStringF aMethod the method

Actions()

TMceActionSet Actions ( )

Returns actions set

ActiveBody()

CMceComSession & ActiveBody ( )

Returns active session body

AddRemoteUriFromResponseL(CSIPResponseElements &)

void AddRemoteUriFromResponseL ( CSIPResponseElements & aResponseElements )

Add the URIs in the Contact headers of aResponseElements

Parameters

CSIPResponseElements & aResponseElements

AddRemoteUriL(const CUri8 &)

void AddRemoteUriL ( 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()

void Canceled ( ) [virtual]

Handles situation where incoming INVITE was canceled with the CANCEL

ClearRemoteUri(const TMceStateIndex)

void ClearRemoteUri ( const TMceStateIndex aState ) [private]

Parameters

const TMceStateIndex aState

CloseBodyBucket()

void CloseBodyBucket ( )

CloseMedia(TBool)

void CloseMedia ( TBool aDelete = EFalse )

Parameters

TBool aDelete = EFalse

ConstructL(CMceCsSession &)

void ConstructL ( 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 & aDialog SIP dialog
CSIPServerTransaction & aTransaction the pending transaction
TBool & aAssociatesWithDialog

ContinueHandlingIncomingSessionL()

void ContinueHandlingIncomingSessionL ( )

CreateDialogFrom3XXResponseL()

void CreateDialogFrom3XXResponseL ( )

Create outgoing dialog from 3xx response

CreateIncomingDialogL(CSIPServerTransaction &)

CSIPDialogAssocBase * CreateIncomingDialogL ( CSIPServerTransaction & aInitialRequest ) [virtual]

Creates new incoming dialog (association)

Parameters

CSIPServerTransaction & aInitialRequest request causing creation

CreateOutgoingDialogL(TMceDialogType, CDesC8Array &, CSIPDialog &)

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

Creates outgoing dialog (association) based on given parameters

Parameters

TMceDialogType aDialogType type of new dialog
CDesC8Array & aParams parameters for creation
CSIPDialog & aExistingDialog

CreateOutgoingDialogL(TMceDialogType, CDesC8Array &)

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

Creates outgoing dialog (association) based on given parameters

Parameters

TMceDialogType aDialogType type of new dialog
CDesC8Array & aParams parameters for creation

CurrentState(TBool)

CMceState & CurrentState ( TBool aMarkExit = EFalse )

Returns current state

Parameters

TBool aMarkExit = EFalse indicates, if current state is marked as exit state

Dialog()

CSIPDialogAssocBase * Dialog ( ) const [virtual]

Returns SIP dialog (assoc)

DiscardInvite()

void DiscardInvite ( )

Discards invite

DoAutoEventL(TMceStateTransitionEvent &)

void DoAutoEventL ( TMceStateTransitionEvent & aEvent ) [private]

Parameters

TMceStateTransitionEvent & aEvent

DoConnectionStateChanged(TBool)

void DoConnectionStateChanged ( TBool aIsActive ) [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 aIsActive indicates 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 &)

void DoErrorOccured ( TInt aError,
CSIPTransactionBase & aTransaction
) [virtual]

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

Parameters

TInt aError error code
CSIPTransactionBase & aTransaction the transaction

DoInitializeIncomingDialogL(CSIPServerTransaction &)

void DoInitializeIncomingDialogL ( CSIPServerTransaction & aTransaction ) [virtual]

Initializes incoming dialog

Parameters

CSIPServerTransaction & aTransaction server transaction representing a request, which caused dialog creation

DoServiceL(TMceIds &, TMceItcFunctions)

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

Executes ITC function called by client.

Parameters

TMceIds & aIds set of ids defining ITC call context
TMceItcFunctions aFunction ITC function to be executed

DoServiceL(TMceIds &, TMceItcFunctions, const TDesC8 &)

void DoServiceL ( TMceIds & aIds,
TMceItcFunctions aFunction,
const TDesC8 & aMessage
) [virtual]

Executes ITC function called by client.

Parameters

TMceIds & aIds set of ids defining ITC call context
TMceItcFunctions aFunction ITC function to be executed
const TDesC8 & aMessage message context from client

DoServiceL(TMceIds &, TMceItcFunctions, TPtr8 &)

void DoServiceL ( TMceIds & aIds,
TMceItcFunctions aFunction,
TPtr8 & aMessage
) [virtual]

Executes ITC function called by client.

Parameters

TMceIds & aIds set of ids defining ITC call context
TMceItcFunctions aFunction ITC function to be executed
TPtr8 & aMessage message context from client

DoServiceL(TMceIds &, TMceItcFunctions, CMceMsgBase &)

void DoServiceL ( TMceIds & aIds,
TMceItcFunctions aFunction,
CMceMsgBase & aMessage
) [virtual]

Executes ITC function called by client.

Parameters

TMceIds & aIds set of ids defining ITC call context
TMceItcFunctions aFunction ITC function to be executed
CMceMsgBase & aMessage decoded message context from client

DoTerminateL()

void DoTerminateL ( ) [private]

DoesMediaManagerNeedToNegotiate(CSdpDocument *)

TBool DoesMediaManagerNeedToNegotiate ( CSdpDocument * aSdpDocument )

Parameters

CSdpDocument * aSdpDocument

ErrorOccured(TInt)

void ErrorOccured ( TInt aError ) [virtual]

Called when error has been occured within dialog

Parameters

TInt aError error code

ErrorResponseReceived()

void ErrorResponseReceived ( ) [protected, virtual]

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

EventReceived(TMceMccComEvent &)

void EventReceived ( 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 *)

void FCErrorNotify ( TInt aErrCode,
const CFCSession * aFCSession
)

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

Parameters

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

FCReceivedData(HBufC8 *, const CFCSession *)

void FCReceivedData ( HBufC8 * aData,
const CFCSession * aFCSession
)

A FC message has been received from the network.

Parameters

HBufC8 * aData The Data received from FCsession specific plugIn The ownership is transferred.
const CFCSession * aFCSession The 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()

void ForceUpdateStreamL ( )

ForkedDialogsCount()

TInt ForkedDialogsCount ( )

HandleForkedDialogs()

void HandleForkedDialogs ( ) [private]

HandleSIPEvent(TMceSipEventCode, CSIPDialog &)

void HandleSIPEvent ( TMceSipEventCode aEventCode,
CSIPDialog & aDialog
) [protected, virtual]

Parameters

TMceSipEventCode aEventCode
CSIPDialog & aDialog

HandleSIPEventErrorL(TMceSipEventCode, TInt)

void HandleSIPEventErrorL ( TMceSipEventCode aEventCode,
TInt aError
) [protected]

Parameters

TMceSipEventCode aEventCode
TInt aError

IncrementReceivedSdpCount()

void IncrementReceivedSdpCount ( )

IncrementSentSdpCount()

void IncrementSentSdpCount ( )

InviteCompleted(CSIPClientTransaction &)

void InviteCompleted ( 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 & aTransaction client transaction representing a response

InviteForkedL(CSIPClientTransaction &, CSIPInviteDialogAssoc *)

void InviteForkedL ( CSIPClientTransaction & aTransaction,
CSIPInviteDialogAssoc * aDialogAssoc
)

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

Parameters

CSIPClientTransaction & aTransaction The original invite transaction.
CSIPInviteDialogAssoc * aDialogAssoc new 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)

void LocalErrorOccured ( TMceStateIndex aNewState,
TInt aWithError
) [private]

Parameters

TMceStateIndex aNewState
TInt aWithError

MediaAuthorizationToken()

HBufC8 * MediaAuthorizationToken ( ) const

Returns the media authorization token. Ownership is not transfered.

MediaError(TMceMccComEvent &)

void MediaError ( TMceMccComEvent & aEvent )

Callback function to indicate about error

Parameters

TMceMccComEvent & aEvent

MethodCode(RStringF)

TMceSipEventCode MethodCode ( RStringF method ) [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 & aClientSession client
CMceSipConnection & aSIPConnection SIP connection
CMceSipStateMachine & aStateMachine SIP session state machine
CSIPProfile & aProfile SIP Profile

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

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

Two-phased constructor.

Parameters

CMceCsSession & aClientSession client
CMceSipConnection & aSIPConnection SIP connection
CMceSipStateMachine & aStateMachine SIP session state machine
CSIPProfile & aProfile SIP Profile

NewLC(CMceCsSession &, CMceSipConnection &, CMceSipStateMachine &)

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

Two-phased constructor.

Parameters

CMceCsSession & aClientSession client
CMceSipConnection & aSIPConnection SIP connection
CMceSipStateMachine & aStateMachine SIP session state machine

NextState(TUint)

void NextState ( TUint aNextStateId )

Sets next state

Parameters

TUint aNextStateId next state id

NoPrackReceived(CSIPServerTransaction &)

void NoPrackReceived ( 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 &)

void PrepareIdsL ( TMceIds & aIds ) const

Prepares ITC callback context

Parameters

TMceIds & aIds set of ids defining ITC callback context

PrevOffer()

CSdpDocument * PrevOffer ( ) [virtual]

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

PrevOfferSafeDelete()

void PrevOfferSafeDelete ( ) [protected]

PreviousState()

TMceStateIndex PreviousState ( )

Returns the previous state of sip session

ProvisionalResponseReceived()

void ProvisionalResponseReceived ( ) [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()

void ReCreateOutgoingDialogL ( )

Re-Create an outgoing dialog

ReUseDialog()

TInt ReUseDialog ( )

Re-Use dialog

RedirectionResponseReceived()

void RedirectionResponseReceived ( ) [protected, virtual]

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

ReliableFailed(CSIPServerTransaction &, TInt)

void ReliableFailed ( CSIPServerTransaction & aTransaction,
TInt aError
)

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 &)

void RequestReceived ( TBool aInsideDialog,
CSIPDialog & aDialog
) [protected, virtual]

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

Parameters

TBool aInsideDialog tells whether request was received inside dialog
CSIPDialog & aDialog SIP Dialog to which request belongs

ReserveL()

TMceReturnStatus ReserveL ( ) [virtual]

Resource Reservation Status

Reserved(CMceComSession &)

void Reserved ( CMceComSession & aSession )

Callback function to indicate that network resource reservation is now ready

Parameters

CMceComSession & aSession

ResetCurrentDialog()

void ResetCurrentDialog ( )

ResetSdpCounts()

void ResetSdpCounts ( )

ResponseReceived()

void ResponseReceived ( ) [protected, virtual]

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

SdpCleanup(CSdpDocument *, CSdpDocument *)

void SdpCleanup ( CSdpDocument * aPrevious,
CSdpDocument * aReplacement
)

Change currently used sdp

Parameters

CSdpDocument * aPrevious
CSdpDocument * aReplacement

ServerInitializedL()

void ServerInitializedL ( )

SessionClosed(CMceComSession &)

void SessionClosed ( CMceComSession & aSession )

Callback function to indicate MCC session was stopped

Parameters

CMceComSession & aSession session body

SessionCreatedL(CMceComSession *)

void SessionCreatedL ( CMceComSession * aSession )

Callback function to indicate about new media session due fork

Parameters

CMceComSession * aSession

SetBodyL(CMceComSession *)

void SetBodyL ( CMceComSession * aSession = NULL )

Create body

Parameters

CMceComSession * aSession = NULL

SetFirstOffer()

void SetFirstOffer ( )

SetMediaAuthorizationToken(HBufC8 *)

void SetMediaAuthorizationToken ( HBufC8 * aToken )

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

Parameters

HBufC8 * aToken

SetOffer(CSdpDocument *)

void SetOffer ( CSdpDocument * aSdpDocument ) [virtual]

Sets the latest offer

Parameters

CSdpDocument * aSdpDocument the latest offer

SetPrevOffer(CSdpDocument *)

void SetPrevOffer ( CSdpDocument * aSdpDocument ) [virtual]

Sets the previous offer

Parameters

CSdpDocument * aSdpDocument the latest offer

SetRSeq(TUint)

void SetRSeq ( TUint aRSeq )

Sets the RSeq Value. aRSeq RSeq Value

Parameters

TUint aRSeq

SetSubState(TSubState)

void SetSubState ( TSubState aSubState )

Sets substate of session

Parameters

TSubState aSubState substate of session

SetWaitingMediaCallback(TBool)

void SetWaitingMediaCallback ( TBool aWaiting )

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

Parameters

TBool aWaiting the value to be set

StandAloneRequestReceived()

void StandAloneRequestReceived ( ) [protected, virtual]

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

StandAloneResponseReceived(TMceSipResponseType)

void StandAloneResponseReceived ( TMceSipResponseType aResponseType ) [protected, virtual]

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

Parameters

TMceSipResponseType aResponseType response type

StartPendingTimerL(TUint)

void StartPendingTimerL ( TUint aInterval )

Starts the pending timer

Parameters

TUint aInterval interval in milli seconds

StartSessionTimerL()

void StartSessionTimerL ( )

Starts the session timer

StorePrevOffer()

void StorePrevOffer ( ) [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 *)

void TimerExpiredL ( TMceTimerId aTimerId,
TAny * aTimerParam
)

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

Parameters

TMceTimerId aTimerId timer Id
TAny * aTimerParam timer param

UpdateAccepted()

void UpdateAccepted ( )

Causes pending update to be accepted

UpdateMediaL()

TMceReturnStatus UpdateMediaL ( ) [virtual]

Updates media

UpdateRejected()

void UpdateRejected ( )

Causes pending update to be rejected

Updated(CMceComSession &)

void Updated ( CMceComSession & aSession ) [virtual]

Callback function to indicate MCC session is updated.

Parameters

CMceComSession & aSession session 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]