CMceCsSubSession Class Reference
class CMceCsSubSession : public CBase
|
Client-Server sub-session is the base class for SIP sessions, which have created to encapsulate SIP dialogs. This class provides methods to handle CS subsession specifig ITC functions and to receive SIP requests and responses.
Public Member Functions
|
|
~CMceCsSubSession
()
|
TBool
|
AcceptDialogTransaction
(
CSIPServerTransaction
&)
|
TBool
|
AcceptMethod
(
RStringF
)
|
TBool
|
AcceptStandAloneTransaction
(
CSIPServerTransaction
&)
|
TBool
|
AutoEvent
()
|
TBool
|
CanDispose
()
|
void
|
Canceled
()
|
CMceCsSessionImplementation
&
|
Client
()
|
TBool
|
ClientExists
()
|
TMceCsSessionType
|
ClientType
()
|
void
|
ConnectionStateChanged
(
CSIPConnection::TState
)
|
TBool
|
Consumes
(
CSIPDialog
&,
CSIPServerTransaction
&,
TBool
&)
|
TBool
|
Consumes
(
CSIPTransactionBase
&)
|
CSIPDialogAssocBase
*
|
CreateIncomingDialogL
(
CSIPServerTransaction
&)
|
CSIPDialogAssocBase
*
|
CreateOutgoingDialogL
(
TMceDialogType
,
CDesC8Array
&,
CSIPDialog
&)
|
CSIPDialogAssocBase
*
|
CreateOutgoingDialogL
(
TMceDialogType
,
CDesC8Array
&)
|
CDesC8Array
&
|
DefaultHeaders
(
TInt
)
|
CSIPDialogAssocBase
*
|
Dialog
()
|
TUint32
|
DialogId
()
|
TBool
|
DialogRequestReceived
(
CSIPServerTransaction
*,
CSIPDialog
&)
|
void
|
DialogResponseReceived
(
CSIPClientTransaction
&)
|
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
&)
|
void
|
ErrorOccured
(
TInt
,
CSIPTransactionBase
&)
|
void
|
ErrorOccured
(
TInt
)
|
void
|
ErrorResponseReceived
()
|
const
CFCSession
*
|
FCSession
()
|
CSIPServerTransaction
&
|
InitialRequest
()
|
void
|
InitializeIncomingDialogL
(
CSIPServerTransaction
*)
|
void
|
InviteCompleted
(
CSIPClientTransaction
&)
|
TBool
|
IsProfileContactSecureL
()
|
CMceSipManager
&
|
Manager
()
|
TBool
|
MessageRequestReceived
(
CSIPServerTransaction
*)
|
void
|
MessageResponseReceived
(
CSIPClientTransaction
&)
|
TInetAddr
*
|
NextHopL
(
TInetAddr
&)
|
const
RPointerArray
<
CSIPServerTransaction
> &
|
PendingReceivedRequests
()
|
CSIPClientTransaction
*
|
PendingTransaction
(
RStringF
)
|
const
RPointerArray
<
CSIPClientTransaction
> &
|
PendingTransactions
()
|
HBufC8
*
|
PopClientContent
()
|
CSIPServerTransaction
*
|
PopRequest
()
|
CSIPClientTransaction
*
|
PopResponse
()
|
CSIPProfile
&
|
Profile
()
|
TBool
|
ProfileConfigured
()
|
void
|
ProvisionalResponseReceived
()
|
void
|
RedirectionResponseReceived
()
|
void
|
RemoveCompletedRequests
(
TBool
)
|
TBool
|
RemovePendingTrx
(
CSIPClientTransaction
&)
|
CSIPServerTransaction
&
|
Request
()
|
void
|
RequestReceived
(
TBool
,
CSIPDialog
&)
|
void
|
ResetInitialInvite
()
|
CSIPClientTransaction
&
|
Response
()
|
void
|
ResponseReceived
()
|
void
|
ResponseReceivedWithinDialog
(
CSIPClientTransaction
&,
CSIPDialogAssocBase
&)
|
CMceSipConnection
&
|
SIPConnection
()
|
TInt
|
SendErrorToClient
(
TMceIds
&,
TInt
)
|
TInt
|
SendToClient
(
TMceIds
&)
|
void
|
SendToClientL
(
TMceIds
&,
HBufC8
*,
HBufC8
*)
|
CMceServerCore
&
|
ServerCore
()
|
void
|
ServiceL
(
TMceIds
&,
TMceItcFunctions
, const
RMessage2
&)
|
void
|
SetAutoEvent
(
TBool
)
|
void
|
SetDialog
(
TType
,
CSIPDialogAssocBase
*,
TUint32
)
|
void
|
SetPendingTransactionL
(
CSIPClientTransaction
*)
|
void
|
SetProfile
(
CSIPProfile
&)
|
void
|
StandAloneRequestReceived
()
|
void
|
StandAloneResponseReceived
(
TMceSipResponseType
)
|
void
|
StoreAutoEventL
(
TMceStateTransitionEvent
*,
CSIPServerTransaction
*)
|
void
|
StoreClientContent
(
HBufC8
*)
|
TMceStateTransitionEvent
*
|
StoredAutoEvent
()
|
TBool
|
Terminate
()
|
TType
|
Type
()
|
Constructor & Destructor Documentation
CMceCsSubSession(TMceCsSessionType, CMceCsSession &, CMceSipConnection &)
CMceCsSubSession(TMceCsSessionType, CMceCsSession &, CMceSipConnection &, CSIPProfile &)
Member Functions Documentation
AcceptDialogTransaction(CSIPServerTransaction &)
Returns ETrue, if session accepts transaction
AcceptMethod(RStringF)
Checks if session accepts method of incoming request
AcceptStandAloneTransaction(CSIPServerTransaction &)
Returns ETrue, if session accepts stand-alone transaction
AutoEvent()
Checks whether the session should automatically generate an event at next state change.
CanDispose()
TBool
|
CanDispose
|
(
|
)
|
[pure virtual]
|
Returns ETrue, if session can be deleted
CancelClientReceiveL()
void
|
CancelClientReceiveL
|
(
|
)
|
[private]
|
Canceled()
void
|
Canceled
|
(
|
)
|
[pure virtual]
|
Handles situation where incoming INVITE was canceled with the CANCEL
ClientExists()
Returns ETrue, if client has called ready to receive
ClientReadyToReceiveL(const RMessage2 &)
void
|
ClientReadyToReceiveL
|
(
|
const
RMessage2
&
|
aMessage
|
)
|
[private]
|
ClientType()
Returns client type of session. The type represents type of dialog used in session.
ConnectionStateChanged(CSIPConnection::TState)
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.
ConstructL(CMceCsSession &)
Consumes(CSIPDialog &, CSIPServerTransaction &, TBool &)
Returns ETrue, if session will consume the transaction
Consumes(CSIPTransactionBase &)
Returns ETrue, if session will consume the transaction
CreateIncomingDialogL(CSIPServerTransaction &)
Creates new incoming dialog (association)
CreateOutgoingDialogL(TMceDialogType, CDesC8Array &, CSIPDialog &)
Creates new outgoing dialog (association) from existing dialog
CreateOutgoingDialogL(TMceDialogType, CDesC8Array &)
Creates outgoing dialog (association) based on given parameters
DefaultHeaders(TInt)
Returns the default headers
Parameters
TInt
aMethodInd
|
the methond index in SIP strings
|
Dialog()
Returns SIP dialog (assoc)
DialogRequestReceived(CSIPServerTransaction *, CSIPDialog &)
Handles SIP request, which has been received inside a dialog
DialogResponseReceived(CSIPClientTransaction &)
Handles SIP response, which has been received inside a dialog
DoConnectionStateChanged(TBool)
void
|
DoConnectionStateChanged
|
(
|
TBool
|
aIsActive
|
)
|
[pure 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
|
DoErrorOccured(TInt, CSIPTransactionBase &)
Handles situation where an asynchronous error has occured related to a request within an existing dialog.
DoInitializeIncomingDialogL(CSIPServerTransaction &)
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. Default implementation leaves with KErrNotSupported
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. Default implementation leaves with KErrNotSupported
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. Default implementation leaves with KErrNotSupported
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. Default implementation leaves with KErrNotSupported
Parameters
TMceIds
& aIds
|
set of ids defining ITC call context
|
TMceItcFunctions
aFunction
|
ITC function to be executed
|
CMceMsgBase
& aMessage
|
decoded message context from client
|
DoServiceL(TMceIds &, TMceItcFunctions, const RMessage2 &)
void
|
DoServiceL
|
(
|
TMceIds
&
|
aIds,
|
|
TMceItcFunctions
|
aFunction,
|
|
const
RMessage2
&
|
aMessage
|
|
)
|
[private]
|
ErrorOccured(TInt, CSIPTransactionBase &)
Handles situation where an asynchronous error has occured related to a request within an existing dialog.
ErrorOccured(TInt)
void
|
ErrorOccured
|
(
|
TInt
|
aError
|
)
|
[pure virtual]
|
Called when error has been occured within dialog
ErrorResponseReceived()
void
|
ErrorResponseReceived
|
(
|
)
|
[pure virtual]
|
Called when error response (4XX-7XX) has been received to pending transaction. Response can be obtained by calling
Response()
method
FCSession()
const
CFCSession
*
|
FCSession
|
(
|
)
|
const
|
Returns floor control session instance
HasInitialInviteTransactionBeenCompleted()
TBool
|
HasInitialInviteTransactionBeenCompleted
|
(
|
)
|
const [protected]
|
InitialRequest()
Returns initial request which caused session creation.
InitializeIncomingDialogL(CSIPServerTransaction *)
Initializes incoming dialog
Parameters
CSIPServerTransaction
* aTransaction
|
server transaction representing a request, which caused dialog creation
|
InviteCompleted(CSIPClientTransaction &)
IsOrphan()
TBool
|
IsOrphan
|
(
|
)
|
[protected]
|
IsProfileContactSecureL()
TBool
|
IsProfileContactSecureL
|
(
|
)
|
|
Check Profile contact secure status
Manager()
CMceSipManager
&
|
Manager
|
(
|
)
|
const
|
Returns SIP manager instance
MessageRequestReceived(CSIPServerTransaction *)
Handles SIP request, which has been received outside a dialog
MessageResponseReceived(CSIPClientTransaction &)
Handles SIP response, which has been received outside a dialog
NextHopL(TInetAddr &)
TInetAddr
*
|
NextHopL
|
(
|
TInetAddr
&
|
aNextHop
|
)
|
|
PendingReceivedRequests()
PendingTransaction(RStringF)
Returns pending transaction based on type
PendingTransactions()
Returns all pending transactions
PopClientContent()
Transferes ownership of client message content
PopRequest()
Transferes ownership of current (pending) request
PopResponse()
Transferes ownership of current (pending) response
ProfileConfigured()
TBool
|
ProfileConfigured
|
(
|
)
|
const
|
Checks if profile configured.
ProvisionalResponseReceived()
void
|
ProvisionalResponseReceived
|
(
|
)
|
[pure virtual]
|
Called when response (1XX) has been received to pending transaction. Response can be obtained by calling
Response()
method
ReceiveL(const RMessage2 &)
void
|
ReceiveL
|
(
|
const
RMessage2
&
|
aMessage
|
)
|
[private]
|
RedirectionResponseReceived()
void
|
RedirectionResponseReceived
|
(
|
)
|
[pure virtual]
|
Called when response (3XX) has been received to pending transaction. Response can be obtained by calling
Response()
method
RegisterDialogAssoc(CSIPDialogAssocBase &)
RemoveCompletedRequests(TBool)
void
|
RemoveCompletedRequests
|
(
|
TBool
|
aAll = EFalse
|
)
|
|
RemovePendingCompletedTrx(CSIPClientTransaction &)
RemovePendingTrx(CSIPClientTransaction &)
Removes the pending transaction.
Request()
Returns current (pending) request
RequestReceived(TBool, CSIPDialog &)
void
|
RequestReceived
|
(
|
TBool
|
aInsideDialog,
|
|
CSIPDialog
&
|
aDialog
|
|
)
|
[pure 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
|
|
ResetInitialInvite()
void
|
ResetInitialInvite
|
(
|
)
|
|
Resets the initial INVITE.
Response()
Returns current (pending) response
ResponseReceived()
void
|
ResponseReceived
|
(
|
)
|
[pure virtual]
|
Called when response (2XX) has been received to pending transaction. Response can be obtained by calling
Response()
method
ResponseReceivedWithinDialog(CSIPClientTransaction &, CSIPDialogAssocBase &)
Handles SIP request, which has been received inside a dialog. this will call DialogResponseReceived
SIPConnection()
Returns SIP connection instance
SendErrorToClient(TMceIds &, TInt)
Sends error via callback mechanism to client session
Parameters
TMceIds
& aIds
|
set of ids defining ITC callback context
|
TInt
aError
|
the error
|
SendToClient(TMceIds &)
Sends data via callback mechanism to client session
Parameters
TMceIds
& aIds
|
set of ids defining ITC callback context
|
SendToClientL(TMceIds &, HBufC8 *, HBufC8 *)
Sends data via callback mechanism to client session
Parameters
TMceIds
& aIds
|
set of ids defining ITC callback context
|
HBufC8
* aContext
|
encoded context of message
|
HBufC8
* aContent
|
content of message
|
ServerCore()
CMceServerCore
&
|
ServerCore
|
(
|
)
|
const
|
Returns server core instance
ServiceL(TMceIds &, TMceItcFunctions, const RMessage2 &)
void
|
ServiceL
|
(
|
TMceIds
&
|
aIds,
|
|
TMceItcFunctions
|
aFunction,
|
|
const
RMessage2
&
|
aMessage
|
|
)
|
|
Executes ITC function called by client
Parameters
TMceIds
& aIds
|
set of ids defining ITC call context
|
TMceItcFunctions
aFunction
|
ITC function to be executed
|
const
RMessage2
& aMessage
|
message from the client.
|
SetAutoEvent(TBool)
void
|
SetAutoEvent
|
(
|
TBool
|
aIsEnabled
|
)
|
|
Controls whether the session should generate automatically event at next state change.
SetClient(CMceCsSessionImplementation &)
SetDialog(TType, CSIPDialogAssocBase *, TUint32)
SetPendingTransactionL(CSIPClientTransaction *)
Sets client transaction which is waiting response from peer
SetProfile(CSIPProfile &)
SetResponse(CSIPClientTransaction &)
SetSessionReceiver(CMceCsSubSessionReceiver *)
StandAloneRequestReceived()
void
|
StandAloneRequestReceived
|
(
|
)
|
[pure virtual]
|
Called when stand-alone request has been received. Request can be obtained by calling
Request()
method
StandAloneResponseReceived(TMceSipResponseType)
void
|
StandAloneResponseReceived
|
(
|
TMceSipResponseType
|
aResponseType
|
)
|
[pure 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
|
StoreAutoEventL(TMceStateTransitionEvent *, CSIPServerTransaction *)
Stores event which will be used when automatic event generation occurs. Request which is associated with the event may be defined.
StoreClientContent(HBufC8 *)
void
|
StoreClientContent
|
(
|
HBufC8
*
|
aClientContent
|
)
|
|
Stores client's message content
Parameters
HBufC8
* aClientContent
|
the message content
|
StoredAutoEvent()
Returns stored automatic event.
Terminate()
TBool
|
Terminate
|
(
|
)
|
[pure virtual]
|
Handles situation where session must be forcefully terminated
Member Enumerations Documentation
Enum TType
Enumerators
EUnknown = -1
|
|
EInSession
|
|
EOutSession
|
|
EOutSIPSession
|
|
Member Data Documentation
TMceStateTransitionEvent * iAutoEvent
CSIPServerTransaction * iAutoEventAssociatedRequest
TBool
iAutoEventEnabled
TBool
|
iAutoEventEnabled
|
[protected]
|
TMceIds * iAutoEventIds
TMceIds
*
|
iAutoEventIds
|
[protected]
|
CMceMsgBase * iAutoEventMsg
HBufC8 * iClientContent
HBufC8
*
|
iClientContent
|
[private]
|
TBool
iClientExists
TBool
|
iClientExists
|
[private]
|
CMceCsSessionImplementation * iClientSession
TMceCsSessionType
iClientType
CSIPDialogAssocBase * iCurrentDialog
TMceStateTransitionEvent * iCurrentlyProcessedAutoEvent
CSIPDialogAssocBase * iDialog
CFCSession * iFCSession
CFCSession
*
|
iFCSession
|
[protected]
|
CSIPClientTransaction * iInitialInvite
RPointerArray< CSIPServerTransaction > iPendingReceivedRequests
RPointerArray< CSIPClientTransaction > iPendingTransactions
CMceCsSubSessionReceiver * iReceiver
CSIPClientTransaction * iResponse
CMceSipConnection & iSIPConnection
CMceServerCore & iServerCore
CMceServerCore
&
|
iServerCore
|
[private]
|
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.