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)
Executes ITC function called by client. Default implementation leaves with KErrNotSupported
DoServiceL(TMceIds &, TMceItcFunctions, const TDesC8 &)
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 &)
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 &)
Executes ITC function called by client. Default implementation leaves with KErrNotSupported
DoServiceL(TMceIds &, TMceItcFunctions, const RMessage2 &)
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()
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()
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
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()
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()
Returns server core instance
ServiceL(TMceIds &, TMceItcFunctions, const RMessage2 &)
Executes ITC function called by 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)
Called when stand-alone response (any) has been received to pending transaction. Response can be obtained by calling Response() method
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] |
CMceMsgBase * iAutoEventMsg
HBufC8 * iClientContent
HBufC8 * | iClientContent | [private] |
TBool
iClientExists
TBool
| iClientExists | [private] |
CMceCsSessionImplementation * iClientSession
TMceCsSessionType
iClientType
CSIPDialogAssocBase * iCurrentDialog
TMceStateTransitionEvent * iCurrentlyProcessedAutoEvent
CSIPDialogAssocBase * iDialog
CSIPClientTransaction * iInitialInvite
RPointerArray< CSIPServerTransaction > iPendingReceivedRequests
RPointerArray< CSIPClientTransaction > iPendingTransactions
CMceCsSubSessionReceiver * iReceiver
CSIPClientTransaction * iResponse
CMceSipConnection & iSIPConnection
CMceServerCore & iServerCore
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.