telephonyserver/etelmultimode/DTsy/mmtsy.h
changeset 0 3553901f7fa8
child 19 630d2f34d719
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserver/etelmultimode/DTsy/mmtsy.h	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,1563 @@
+// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef __MMTSY_H
+#define __MMTSY_H
+
+#include <e32base.h>
+#include <et_phone.h>
+#include "ETELMM.H"
+#include "mmlist.h"
+#include "coretsy.H"
+#include "mmretrieve.h"
+
+/**************************************************************************/
+//
+//	Utility classes used by dummy Multimode TSY
+//
+/**************************************************************************/
+
+class CListReadAllAttempt : public CBase
+	{
+public:
+	static CListReadAllAttempt* NewL(RMobilePhone::TClientId* aId, TTsyReqHandle aReqHandle);
+	~CListReadAllAttempt();
+
+protected:
+	CListReadAllAttempt(RMobilePhone::TClientId* aId, TTsyReqHandle aReqHandle);
+
+private:
+	void ConstructL();
+
+public:
+	CBufBase* iListBuf;
+	RMobilePhone::TClientId iClient;
+	TTsyReqHandle iReqHandle;
+	};
+
+class CPhoneDMmTsy;
+
+/**************************************************************************/
+//
+//	CCallDMmTsy
+//
+/**************************************************************************/
+
+class CCallDMmTsy : public CCallDummyBase
+	{
+public:
+	static CCallDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac);
+	CCallDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac);
+	void ConstructL();
+	~CCallDMmTsy();
+public:
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual TReqMode ReqModeL(const TInt aIpc);
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+//	static CCallDMmTsy* This(TAny* aPtr);
+
+	TInt GetMobileDataCallCaps(const TTsyReqHandle aTsyReqHandle, TDes8* aCaps);
+	TInt NotifyMobileDataCallCapsChange(const TTsyReqHandle aTsyReqHandle, TDes8* aCaps);
+	TInt NotifyMobileDataCallCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	static void InitialiseDataCallCaps(TDes8* aCallCaps);
+
+	TInt GetMobileDataCallRLPRange(const TTsyReqHandle aTsyReqHandle, TInt* aRLPVersion, TDes8* aRLPRange);
+	TInt GetMobileDataCallRLPRangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt SetDynamicHscsdParams(const TTsyReqHandle aTsyReqHandle, TInt* aAiur, TInt* aRxTimeslots);
+	TInt SetDynamicHscsdParamsCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCurrentHscsdInfo(const TTsyReqHandle aTsyReqHandle, TDes8* aHSCSDInfo);
+	TInt NotifyHscsdInfoChange(const TTsyReqHandle aTsyReqHandle, TDes8* aHSCSDInfo);
+	TInt NotifyHscsdInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt NotifyVoiceFallback(const TTsyReqHandle aTsyReqHandle, TDes* aCallName);
+	TInt NotifyVoiceFallbackCancel(const TTsyReqHandle aTsyReqHandle);
+
+	static void InitialiseHscsdInfo(RMobileCall::TMobileCallHscsdInfoV1& aHSCSDInfo);
+
+	TInt SwitchAlternatingCall(const TTsyReqHandle aTsyReqHandle);
+	TInt SwitchAlternatingCallCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyAlternatingCallSwitch(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyAlternatingCallSwitchCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetMobileCallCaps(const TTsyReqHandle aTsyReqHandle, TDes8* aCaps);
+	TInt NotifyMobileCallCapsChange(const TTsyReqHandle aTsyReqHandle, TDes8* aCaps);
+	TInt NotifyMobileCallCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt GetMobileCallStatus(const TTsyReqHandle aTsyReqHandle,RMobileCall::TMobileCallStatus* aStatus);
+	TInt NotifyMobileCallStatusChange(const TTsyReqHandle aTsyReqHandle,RMobileCall::TMobileCallStatus* aStatus);
+	TInt NotifyMobileCallStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt Hold(const TTsyReqHandle aTsyReqHandle);
+	TInt HoldCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt Resume(const TTsyReqHandle aTsyReqHandle);
+	TInt ResumeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt Swap(const TTsyReqHandle aTsyReqHandle);
+	TInt SwapCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt Deflect(const TTsyReqHandle aTsyReqHandle, RMobileCall::TMobileCallDeflect* aDeflectType, RMobilePhone::TMobileAddress* aDestination);
+	TInt DeflectCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt Transfer(const TTsyReqHandle aTsyReqHandle);
+	TInt TransferCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GoOneToOne(const TTsyReqHandle aTsyReqHandle);
+	TInt GoOneToOneCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt NotifyCallEvent(const TTsyReqHandle aTsyReqHandle, RMobileCall::TMobileCallEvent* aEvent);
+	TInt NotifyCallEventCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt DialNoFdnCheck(const TTsyReqHandle aTsyReqHandle, TDesC8* aCallParams, TDesC* aNumber);
+	TInt DialNoFdnCheckCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt DialCallControl(const TTsyReqHandle aTsyReqHandle, TDesC8* aCallParams, TDesC* aNumber);
+	TInt DialCallControlCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt SetPrivacySetting(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhonePrivacy* aPrivacySetting);
+	TInt NotifyPrivacyConfirmation(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhonePrivacy* aPrivacySetting);
+	TInt NotifyPrivacyConfirmationCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt SetTrafficChannel(const TTsyReqHandle aTsyReqHandle, RMobileCall::TMobileCallTch* aTchRequest);
+	TInt NotifyTrafficChannelConfirmation(const TTsyReqHandle aTsyReqHandle, RMobileCall::TMobileCallTch* aTchType);
+	TInt NotifyTrafficChannelConfirmationCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetMobileCallInfo(const TTsyReqHandle aTsyReqHandle, TDes8* aInfo);
+	TInt GetMobileCallInfoCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt NotifyRemotePartyInfoChange(const TTsyReqHandle aTsyReqHandle, TDes8* aRemotePartyInfo);
+	TInt NotifyRemotePartyInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt DialEmergencyCall(const TTsyReqHandle aTsyReqHandle, TDesC* aNumber);
+	TInt DialEmergencyCallCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt ActivateCCBS(const TTsyReqHandle aTsyReqHandle, TInt* aIndex);
+	TInt ActivateCCBSCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt RejectCCBS(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetUUSCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyUUSCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyUUSCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+    TInt ValidateCallParams(TDesC8* aCallParams);
+	TInt ActivateUUS(const TTsyReqHandle aTsyReqHandle, TDes8* aUUIRequest);
+	TInt ActivateUUSCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SendUUI(const TTsyReqHandle aTsyReqHandle, TBool* aMore, TDesC16* aUUI);
+	TInt SendUUICancel(const TTsyReqHandle aTsyReqHandle);
+	TInt ReceiveUUI(const TTsyReqHandle aTsyReqHandle, TDes16* aUUI);
+	TInt ReceiveUUICancel(const TTsyReqHandle aTsyReqHandle);
+	TInt HangupWithUUI(const TTsyReqHandle aTsyReqHandle, TDesC16* aUUI);
+	TInt HangupWithUUICancel(const TTsyReqHandle aTsyReqHandle);
+	TInt AnswerIncomingCallWithUUI(const TTsyReqHandle aTsyReqHandle, TDesC8* aCallParams, TDesC16* aUUI);
+	TInt AnswerIncomingCallWithUUICancel(const TTsyReqHandle aTsyReqHandle);
+	TInt AnswerMultimediaCallAsVoice(const TTsyReqHandle aTsyReqHandle, TDesC8* aCallParams, TDes16* aCallName);
+	TInt AnswerMultimediaCallAsVoiceCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyAudioToneEvent(const TTsyReqHandle aTsyReqHandle, TDes8* aAudioTone);
+	TInt NotifyAudioToneEventCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt DialISV(const TTsyReqHandle aTsyReqHandle, TDesC8* aCallParams, TDesC* aNumber);
+    TInt DialISVCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt AnswerIncomingCallISV(const TTsyReqHandle aTsyReqHandle, TDesC8* aCallParams);
+    TInt AnswerIncomingCallISVCancel(const TTsyReqHandle aTsyReqHandle);
+
+private: // data
+	TInt iNotifyMobileCallStatusChange;
+	TInt iNotifyCallEvent;
+	TInt iNotifyMobileCallCapsChange;
+	TInt iNotifyRemotePartyInfoChange;
+	TInt iNotifyMobileDataCallCapsChange;
+	TInt iNotifyHscsdParamsChange;
+	TInt iNotifyHscsdInfoChange;
+	TInt iNotifyPrivacyConfirmation;
+	TInt iNotifyTrafficChannelConfirmation;
+	TInt iNotifyVoiceFallback;
+	TInt iNotifyAlternatingCallSwitch;
+	TInt iNotifyUUSCapsChange;
+	TInt iCallTestCount;
+	CPhoneDMmTsy *iPhone;
+	TInt iNotifyAudioToneEvent;
+protected:
+	};
+
+/**************************************************************************/
+//
+//	CLineDMmTsy
+//
+/**************************************************************************/
+
+class CLineDMmTsy : public CLineDummyBase
+	{
+public:
+	static CLineDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac);
+	CLineDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac);
+	void ConstructL();
+	~CLineDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual TReqMode ReqModeL(const TInt aIpc);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+	virtual TInt GetCaps(const TTsyReqHandle aTsyReqHandle,RLine::TCaps* aCaps);
+
+private:
+	TInt GetMobileLineStatus(const TTsyReqHandle aTsyReqHandle,RMobileCall::TMobileCallStatus* aStatus);
+	TInt NotifyMobileLineStatusChange(const TTsyReqHandle aTsyReqHandle, RMobileCall::TMobileCallStatus* aStatus);
+	TInt NotifyMobileLineStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+private:// data
+	//
+	TInt iNotifyMobileLineStatusChange;
+	TInt iCallObjectCount;
+	CPhoneDMmTsy *iPhone;
+protected:
+	};
+
+/**************************************************************************/
+//
+//	CPhoneDMmTsy
+//
+/**************************************************************************/
+
+class CPhoneDMmTsy : public CPhoneDummyBase
+	{
+public:
+	static CPhoneDMmTsy* NewL(CPhoneFactoryDummyBase* aFac);
+	CPhoneDMmTsy(CPhoneFactoryDummyBase* aFac);
+	void ConstructL();
+	~CPhoneDMmTsy();
+public:
+	virtual void Init();
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+
+	// methods for the list of aos which correspond to the outstanding delayed asyncrhonous reqs
+	TInt RemoveDelayedReq(const TTsyReqHandle aTsyReqHandle);
+	void AddDelayedReq(const TTsyReqHandle aTsyReqHandle, CTelObject *aTelObject);
+	// methods for the list of aos which correspond to the outstanding location services delayed asyncrhonous reqs
+	void AddDelayedReq(const TTsyReqHandle aTsyReqHandle, CTelObject *aTelObject,TInt aPriority);
+private:
+	void RegisterDelayedReqL(const TTsyReqHandle aTsyReqHandle, CTelObject *aTelObject);
+	void RegisterDelayedReqL(const TTsyReqHandle aTsyReqHandle, CTelObject *aTelObject,TInt aPriority);
+private:
+	static CPhoneDMmTsy* This(TAny* aPtr);
+
+	TInt GetMultimodeCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt GetPhoneStoreInfo(const TTsyReqHandle aTsyReqHandle, TDes8* aGetInfo, TDes* aName);
+	TInt GetPhoneStoreInfo(const TTsyReqHandle aTsyReqHandle, TDes8* aGetInfo, RMobilePhone::TPhoneStoreNameAndIccType* aTable);
+	TInt GetPhoneStoreInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetIccAccessCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyIccAccessCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyIccAccessCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt GetIccIdentity(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TIccIdentity* aIdentity);
+	TInt GetIccIdentityCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCustomerServiceProfile(const TTsyReqHandle aTsyReqHandle, TDes8* aFile);
+	TInt GetCustomerServiceProfileCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetServiceTable(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneServiceTable* aTable, TDes8* aFile);
+	TInt GetServiceTableCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetBatteryCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt GetBatteryInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneBatteryInfoV1* aInfo);
+	TInt GetBatteryInfoCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyBatteryInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneBatteryInfoV1* aInfo);
+	TInt NotifyBatteryInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetSignalCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt GetSignalStrength(const TTsyReqHandle aTsyReqHandle, TInt32* aSignalStrength, TInt8* aBar);
+	TInt GetSignalStrengthCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifySignalStrengthChange(const TTsyReqHandle aTsyReqHandle, TInt32* aSignalStrength, TInt8* aBar);
+	TInt NotifySignalStrengthChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetIndicatorCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aActionCaps, TUint32* aIndCaps);
+	TInt GetIndicator(const TTsyReqHandle aTsyReqHandle, TUint32* aIndicator);
+	TInt GetIndicatorCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyIndicatorChange(const TTsyReqHandle aTsyReqHandle, TUint32* aIndicator);
+	TInt NotifyIndicatorChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetIdentityCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt GetPhoneId(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneIdentityV1* aId);
+	TInt GetPhoneIdCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetSubscriberId(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSubscriberId* aId);
+	TInt GetSubscriberIdCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetDTMFCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyDTMFCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyDTMFCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt NotifyStopInDTMFString(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyStopInDTMFStringCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt SendDTMFTones(const TTsyReqHandle aTsyReqHandle, TDesC* aTones);
+	TInt SendDTMFTonesCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt ReadDTMFTones(const TTsyReqHandle aTsyReqHandle, TDes* aTones);
+	TInt ReadDTMFTonesCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt StartDTMFTone(const TTsyReqHandle aTsyReqHandle, TChar* aTone);
+
+	TInt StopDTMFTone(const TTsyReqHandle aTsyReqHandle);
+
+	TInt ContinueDTMFStringSending(const TTsyReqHandle aTsyReqHandle, TBool *aContinue);
+
+	TInt GetNetworkCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+
+	TInt GetCurrentMode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNetworkMode* aMode);
+	TInt NotifyModeChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNetworkMode* aMode);
+	TInt NotifyModeChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetHomeNetwork(const TTsyReqHandle aTsyReqHandle, TDes8* aNetworkInfoPckg);
+	TInt GetHomeNetworkCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCurrentNetwork(const TTsyReqHandle aTsyReqHandle, TDes8* aNetworkInfoPckg, RMobilePhone::TMobilePhoneLocationAreaV1* aArea);
+	TInt GetCurrentNetworkCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCurrentNetworkChange(const TTsyReqHandle aTsyReqHandle, TDes8* aNetworkInfoPckg, RMobilePhone::TMobilePhoneLocationAreaV1* aArea);
+	TInt NotifyCurrentNetworkChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCellInfo(const TTsyReqHandle aTsyReqHandle, TDes8* aCellInfoPckg);
+	TInt GetCellInfoCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCellInfoChange(const TTsyReqHandle aTsyReqHandle, TDes8* aCellInfoPckg);
+	TInt NotifyCellInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt GetNetworkRegistrationStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneRegistrationStatus* aStatus);
+	TInt GetNetworkRegistrationStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyNetworkRegistrationStatusChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneRegistrationStatus* aStatus);
+	TInt NotifyNetworkRegistrationStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetDetectedNetworksPhase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt ProcessGetDetectedNetworksPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt GetDetectedNetworksPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetDetectedNetworksCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetDetectedNetworksV2Phase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt ProcessGetDetectedNetworksV2Phase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt GetDetectedNetworksV2Phase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetDetectedNetworksV2Cancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetDetectedNetworksV5Phase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt ProcessGetDetectedNetworksV5Phase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt GetDetectedNetworksV5Phase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetDetectedNetworksV5Cancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt GetDetectedNetworksV8Phase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt ProcessGetDetectedNetworksV8Phase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt GetDetectedNetworksV8Phase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetDetectedNetworksV8Cancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetNetworkSelectionSetting(const TTsyReqHandle aTsyReqHandle, TDes8 *aSetting);
+	TInt SetNetworkSelectionSetting(const TTsyReqHandle aTsyReqHandle, TDes8* aSetting);
+	TInt SetNetworkSelectionSettingCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyNetworkSelectionSettingChange(const TTsyReqHandle aTsyReqHandle, TDes8* aSetting);
+	TInt NotifyNetworkSelectionSettingChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SelectNetwork(const TTsyReqHandle aTsyReqHandle, TBool* aIsManual, RMobilePhone::TMobilePhoneNetworkManualSelection* aManualSelection);
+	TInt SelectNetworkCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetNetworkTimeInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNITZ* aDateTime);
+	TInt NotifyNetworkTimeInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNITZ* aDateTime);
+	TInt NotifyNetworkTimeInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt GetServiceProviderName(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneServiceProviderNameV2* aName);
+	TInt GetServiceProviderNameCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetDefaultPrivacy(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhonePrivacy* aSetting);
+	TInt SetDefaultPrivacy(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhonePrivacy* aSetting);
+	TInt SetDefaultPrivacyCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyDefaultPrivacyChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhonePrivacy* aSetting);
+	TInt NotifyDefaultPrivacyChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCallServiceCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyCallServiceCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyCallServiceCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt ProgramFeatureCodeString(const TTsyReqHandle aTsyReqHandle, TDesC* aFCString, RMobilePhone::TNetworkServiceAndAction *aFeatureCode);
+	TInt ProgramFeatureCodeStringCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetFeatureCodeString(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TNetworkServiceAndAction *aFeatureCode, TDes *aFCString);
+	TInt GetFeatureCodeStringCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SendNetworkServiceRequest(const TTsyReqHandle aTsyReqHandle, TDesC* aString);
+	TInt SendNetworkServiceRequestCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCallForwardingStatusPhase1(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneCFList::TGetCallForwardingRequest* aReqData, TInt* aBufSize);
+	TInt ProcessGetCallForwardingStatusPhase1L(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneCFList::TGetCallForwardingRequest* aReqData, TInt* aBufSize);
+	TInt GetCallForwardingStatusPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetCallForwardingStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCallForwardingStatusChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneCFCondition* aCondition);
+	TInt NotifyCallForwardingStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetCallForwardingStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneCFCondition* aCondition, RMobilePhone::TMobilePhoneCFChangeV1* aInfo);
+	TInt SetCallForwardingStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCallForwardingActive(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobileService* aServiceGroup, RMobilePhone::TMobilePhoneCFActive* aActive);
+	TInt NotifyCallForwardingActiveCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetIdentityServiceStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TIdServiceAndLocation *aInfo,
+		RMobilePhone::TMobilePhoneIdServiceStatus* aStatus);
+	TInt GetIdentityServiceStatusCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCallBarringPhase1(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneCBList::TGetCallBarringRequest* aReqData, TInt* aBufSize);
+	TInt ProcessGetCallBarringPhase1L(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneCBList::TGetCallBarringRequest* aReqData, TInt* aBufSize);
+	TInt GetCallBarringPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetCallBarringCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt SetCallBarringStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneCBCondition *aCondition, RMobilePhone::TMobilePhoneCBChangeV1* aInfo);
+	TInt SetCallBarringStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCallBarringStatusChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneCBCondition* aCondition);
+	TInt NotifyCallBarringStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetCallBarringPassword(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhonePasswordChangeV1* aPassword);
+	TInt SetCallBarringPasswordCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetSSPassword(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhonePasswordChangeV2* aPassword, TInt* aService);
+	TInt SetSSPasswordCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCallWaitingPhase1(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneCWList::TGetCallWaitingRequest* aReqData, TInt* aBufSize);
+	TInt ProcessGetCallWaitingPhase1L(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneCWList::TGetCallWaitingRequest* aReqData, TInt* aBufSize);
+	TInt GetCallWaitingPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetCallWaitingCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetCallWaitingStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobileService* aServiceGroup, RMobilePhone::TMobilePhoneServiceAction *aAction);
+	TInt SetCallWaitingStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCallWaitingStatusChange(const TTsyReqHandle aTsyReqHandle, TDes8* aCWStatus);
+	TInt NotifyCallWaitingStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetCCBSStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneCCBSStatus* aCcbsStatus, RMobilePhone::TMobileInfoLocation* aLocation);
+	TInt GetCCBSStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCCBSStatusChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneCCBSStatus* aCcbsStatus);
+	TInt NotifyCCBSStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DeactivateCCBS(const TTsyReqHandle aTsyReqHandle, TInt* aIndex);
+	TInt DeactivateCCBSCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt AcceptCCBSRecall(const TTsyReqHandle aTsyReqHandle, TInt* aIndex, TDes* aCallName);
+	TInt AcceptCCBSRecallCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt RefuseCCBSRecall(const TTsyReqHandle aTsyReqHandle, TInt* aIndex);
+	TInt NotifyCCBSRecall(const TTsyReqHandle aTsyReqHandle, TDes8* aCCBSEntry);
+	TInt NotifyCCBSRecallCancel(const TTsyReqHandle aTsyReqHandle);
+
+
+	TInt GetCallCompletionPhase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aReqData, TInt* aBufSize);
+	TInt ProcessGetCallCompletionPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aReqData, TInt* aBufSize);
+	TInt GetCallCompletionPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetCallCompletionCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetAlternatingCallCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyAlternatingCallCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyAlternatingCallCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetAlternatingCallMode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneAlternatingCallMode* aMode, RMobilePhone::TMobileService* aFirstService);
+	TInt SetAlternatingCallMode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneAlternatingCallMode* aMode, RMobilePhone::TMobileService* aFirstService);
+	TInt SetAlternatingCallModeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyAlternatingCallModeChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneAlternatingCallMode* aMode, RMobilePhone::TMobileService* aFirstService);
+	TInt NotifyAlternatingCallModeChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetALSLine(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneALSLine* aALSLine);
+	TInt SetALSLine(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneALSLine* aALSLine);
+	TInt SetALSLineCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyALSLineChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneALSLine* aALSLine);
+	TInt NotifyALSLineChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt GetCostCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyCostCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyCostCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt ClearCostMeter(const TTsyReqHandle aTsyReqHandle,RMobilePhone::TMobilePhoneCostMeters* aMeters);
+	TInt ClearCostMeterCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetMaxCostMeter(const TTsyReqHandle aTsyReqHandle, TUint *aUnits);
+	TInt SetMaxCostMeterCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetPuct(const TTsyReqHandle aTsyReqHandle, TDes8* aPuct);
+	TInt SetPuctCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetCostInfo(const TTsyReqHandle aTsyReqHandle, TDes8* aCostInfo);
+	TInt GetCostInfoCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCostInfoChange(const TTsyReqHandle aTsyReqHandle, TDes8* aCostInfo);
+	TInt NotifyCostInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetSecurityCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifySecurityCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifySecurityCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetLockInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock *aLock, TDes8* aLockInfo) ;
+	TInt GetLockInfoCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyLockInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock* aLock, TDes8* aLockInfo);
+	TInt NotifyLockInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetLockSetting(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock *aLock, RMobilePhone::TMobilePhoneLockSetting *aLockSetting);
+	TInt SetLockSettingCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt ChangeSecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode *aType, RMobilePhone::TMobilePhonePasswordChangeV1 *aChange);
+	TInt ChangeSecurityCodeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetSecurityCodeInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode *aSecurityCode, TDes8* aSecurityCodeInfo);
+	TInt GetSecurityCodeInfoCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifySecurityCodeInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode,TDes8* aSecurityCodeInfo);
+	TInt NotifySecurityCodeInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyOnSecurityEvent(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityEvent* aEvent);
+	TInt NotifyOnSecurityEventCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt VerifySecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode *aType, RMobilePhone::TCodeAndUnblockCode* aData);
+	TInt VerifySecurityCodeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt AbortSecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode *aType);
+
+	TInt NotifyMessageWaiting(const TTsyReqHandle aTsyReqHandle, TInt* aCount);
+	TInt NotifyMessageWaitingCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetIccMessageWaitingIndicators(const TTsyReqHandle aTsyReqHandle, TDes8* aMsgIndicators);
+	TInt GetIccMessageWaitingIndicatorsCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetIccMessageWaitingIndicators(const TTsyReqHandle aTsyReqHandle, TDes8* aMsgIndicators);
+	TInt SetIccMessageWaitingIndicatorsCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyIccMessageWaitingIndicatorsChange(const TTsyReqHandle aTsyReqHandle, TDes8* aMsgIndicators);
+	TInt NotifyIccMessageWaitingIndicatorsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetFdnStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneFdnStatus* aFdnStatus);
+	TInt GetFdnStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetFdnSetting(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneFdnSetting *aFdnSetting);
+	TInt SetFdnSettingCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyFdnStatusChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneFdnStatus* aFdnStatus);
+	TInt NotifyFdnStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetMulticallParams(const TTsyReqHandle aTsyReqHandle, TDes8* aMulticallParams);
+	TInt SetMulticallParams(const TTsyReqHandle aTsyReqHandle, TInt* aUserMaxBearers);
+	TInt GetMulticallParamsCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetMulticallParamsCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyMulticallParamsChange(const TTsyReqHandle aTsyReqHandle, TDes8* aMulticallParams);
+	TInt NotifyMulticallParamsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetIncomingCallType(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneIncomingCallType* aCallType, TDes8* aDataParams);
+	TInt GetIncomingCallTypeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetIncomingCallType(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneIncomingCallType* aCallType, TDes8* aDataParams);
+	TInt SetIncomingCallTypeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyIncomingCallTypeChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneIncomingCallType* aCallType, TDes8* aDataParams);
+	TInt NotifyIncomingCallTypeChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetUUSSetting(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneUUSSetting* aSetting);
+	TInt GetUUSSettingCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetUUSSetting(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneUUSSetting* aSetting);
+	TInt SetUUSSettingCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyUUSSettingChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneUUSSetting* aSetting);
+	TInt NotifyUUSSettingChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetMultimediaCallPreference(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneMultimediaSettings* aMmSettings);
+
+	TInt SetMultimediaCallPreference(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneMultimediaSettings* aMmSettings);
+	TInt SetMultimediaCallPreferenceCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyMultimediaCallPreferenceChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneMultimediaSettings* aMmSettings);
+	TInt NotifyMultimediaCallPreferenceChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetNetworkSecurityLevel(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNetworkSecurity* aSecurity);
+	TInt GetNetworkSecurityLevelCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyNetworkSecurityLevelChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNetworkSecurity* aSecurity);
+	TInt NotifyNetworkSecurityLevelChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt EnumerateUSimApplications(const TTsyReqHandle aTsyReqHandle,TInt* aCount, RMobilePhone::TAID* aActiveAID);
+	TInt EnumerateUSimApplicationsCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt SetUSimApplicationStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TAID* aAID, RMobilePhone::TUSimAppAction* aAction);
+	TInt SetUSimApplicationStatusCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetUSimApplicationInfo(const TTsyReqHandle aTsyReqHandle, TInt* aIndex,RMobilePhone::TUSimApplicationInfoV2* aInfo);
+	TInt GetUSimApplicationInfoCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt NotifyUSimApplicationsInfoChange(const TTsyReqHandle aTsyReqHandle, TInt* aCount, RMobilePhone::TAID* aActiveAID);
+	TInt NotifyUSimApplicationsInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt SetUSimAppsSelectionMode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TUSimSelectionMode* aMode);
+	TInt GetUSimAppsSelectionMode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TUSimSelectionMode* aMode);
+	TInt NotifyUSimAppsSelectionModeChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TUSimSelectionMode* aMode);
+	TInt NotifyUSimAppsSelectionModeChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetMailboxNumbers(const TTsyReqHandle aTsyReqHandle, TDes8 *aMialBox);
+	TInt GetMailboxNumbersCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyMailboxNumbersChange(const TTsyReqHandle aTsyReqHandle, TDes8 *aMialBox);
+	TInt NotifyMailboxNumbersChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyMmsUpdate(const TTsyReqHandle aTsyReqHandle, TDes8* aNotification);
+	TInt NotifyMmsUpdateCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetMmsUserConnParams(const TTsyReqHandle aTsyReqHandle, TDes8* aConnectivity);
+	TInt SetMmsUserConnParamsCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetMmsUserPreferences(const TTsyReqHandle aTsyReqHandle,TDes8* aPreferences);
+	TInt SetMmsUserPreferencesCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetMmsConfig(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMmsConnParams aType, TDes8* aConnectivity);
+	TInt GetMmsConfigCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyMmsConfig(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMmsConnParams aType, TDes8* aConnectivity);
+	TInt NotifyMmsConfigCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetHomeNetworkSearchPeriod(const TTsyReqHandle aTsyReqHandle, TInt* aSearchIntv);
+	TInt GetHomeNetworkSearchPeriodCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetLastUsedAccessTechnology(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNetworkAccess* aAccessTech);
+	TInt GetLastUsedAccessTechnologyCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetNetworkInvScanSetting(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneInvestigationScan* aSetting);
+	TInt NotifyNetworkInvScanChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneInvestigationScan* aSetting);
+	TInt NotifyNetworkInvScanChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyNetworkInvScanEvent(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneInvestigationScanEvent* aEvent);
+	TInt NotifyNetworkInvScanEventCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetCallForwardingIndicator(const TTsyReqHandle aTsyReqHandle, TDes8* aIndicator);
+	TInt GetCallForwardingIndicatorCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetCompMethodName(const TTsyReqHandle aTsyReqHandle, TUint aCmi, TDes* aAlphaTag);
+	TInt GetCompMethodNameCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt EnumerateAPNEntries(const TTsyReqHandle aTsyReqHandle, TUint32* aIndex);
+	TInt EnumerateAPNEntriesCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetAPNname(const TTsyReqHandle aTsyReqHandle, TUint32 aIndex, TDes8* aAPN);
+	TInt GetAPNnameCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt AppendAPNName(const TTsyReqHandle aTsyReqHandle, TDes8* aAPN);
+	TInt AppendAPNNameCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAPNName(const TTsyReqHandle aTsyReqHandle, TUint32 aIndex);
+	TInt DeleteAPNNameCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyAPNListChanged(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyAPNListChangedCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetAPNControlListServiceStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TAPNControlListServiceStatus aAPNControlListServiceStatus);
+	TInt SetAPNControlListServiceStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetAPNControlListServiceStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TAPNControlListServiceStatus* aAPNControlListServiceStatus);
+	TInt GetAPNControlListServiceStatusCancel(const TTsyReqHandle aTsyReqHandle);	
+	TInt NotifyAPNControlListServiceStatusChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TAPNControlListServiceStatus* aAPNControlListServiceStatus);
+	TInt NotifyAPNControlListServiceStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetAirTimeDuration(const TTsyReqHandle aTsyReqHandle, TTimeIntervalSeconds* aTime);
+	TInt NotifyAirTimeDurationChange(const TTsyReqHandle aTsyReqHandle, TTimeIntervalSeconds* aTime);
+	TInt NotifyAirTimeDurationChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt TerminateAllCalls(const TTsyReqHandle aTsyReqHandle);
+	TInt TerminateAllCallsCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifySendNetworkServiceRequest(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNotifySendSSOperation* aOperation, TDes8* aRequestComplete);
+	TInt NotifySendNetworkServiceRequestCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyAllSendNetworkServiceRequest(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNotifySendSSOperation* aOperation, TDes8* aRequestComplete);
+	TInt NotifyAllSendNetworkServiceRequestCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt ClearBlacklist(const TTsyReqHandle aTsyReqHandle);
+	TInt ClearBlacklistCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyDTMFEvent(const TTsyReqHandle aTsyReqHandle,RMobilePhone::TMobilePhoneDTMFEvent* aEvent);
+	TInt NotifyDTMFEventCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetPersonalisationCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt GetPersonalisationCapsCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetPersonalisationStatus(const TTsyReqHandle aTsyReqHandle, TUint32* aPersSchemes);
+	TInt GetPersonalisationStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetPersonalisationStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhonePersonalisation* aPersSchemes, TDes* aPersCode);
+	TInt SetPersonalisationStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetCurrentNetworkName(const TTsyReqHandle aTsyReqHandle, TDes8* aNetworkName, TDes8* aLocInfo);
+	TInt GetCurrentNetworkNameCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetPreferredNetworksPhase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt ProcessGetPreferredNetworksPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt GetPreferredNetworksPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetPreferredNetworksCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt ProcessStorePreferredNetworksListL(TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
+	TInt StorePreferredNetworksList(const TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
+	TInt StorePreferredNetworksListCancel(TTsyReqHandle aTsyReqHandle);
+	TInt NotifyStorePreferredNetworksListChange(TTsyReqHandle aTsyReqHandle);
+	TInt NotifyStorePreferredNetworksListChangeCancel(TTsyReqHandle aTsyReqHandle);
+	TInt GetCipheringIndicatorStatus(TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobileCallCipheringIndicator& aIndicatorStatus);
+	TInt GetCipheringIndicatorStatusCancel(TTsyReqHandle aTsyReqHandle);
+	TInt NotifyCipheringIndicatorStatus(TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobileCallCipheringIndicator& aIndicatorStatus);
+	TInt NotifyCipheringIndicatorStatusCancel(TTsyReqHandle aTsyReqHandle);
+	TInt SetIdentityServiceStatus(TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneIdService aService, RMobilePhone::TMobilePhoneIdServiceSetting aSetting); 
+	TInt SetIdentityServiceStatusCancel(TTsyReqHandle aTsyReqHandle);
+	TInt NotifyIdentityServiceStatus(TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneIdService aService, RMobilePhone::TMobilePhoneIdServiceStatus* aStatus);
+	TInt NotifyIdentityServiceStatusCancel(TTsyReqHandle aTsyReqHandle);
+	TInt NotifyIdentitySuppressionRejected(TTsyReqHandle aTsyReqHandle);
+	TInt NotifyIdentitySuppressionRejectedCancel(TTsyReqHandle aTsyReqHandle);
+	TInt NotifyMulticallIndicatorChange(TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneMulticallIndicator* aMulticallIndicator);
+	TInt NotifyMulticallIndicatorChangeCancel(TTsyReqHandle aTsyReqHandle);
+	TInt GetAuthorizationInfoPhase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient,TInt* aBufSize);
+	TInt ProcessGetAuthorizationInfoPhase1L(const TTsyReqHandle aTsyReqHandle,
+											 RMobilePhone::TClientId* aId,
+											 TInt* aBufSize);
+	TInt GetAuthorizationInfoPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* ,TDes8* aBuffer);
+	TInt GetAuthorizationInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetAuthenticationData(const TTsyReqHandle aTsyReqHandle,TDes8* aAuthenticationData);
+	TInt GetAuthenticationDataCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyImsAuthorizationInfoChanged(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyImsAuthorizationInfoChangedCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt EnumerateSmartCardApplications(const TTsyReqHandle aTsyReqHandle,TUint* aCount);
+	TInt EnumerateSmartCardApplicationsCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetSmartCardApplicationInfo(const TTsyReqHandle aTsyReqHandle,TUint* aAppIndex, TDes8* aInfoBuffer);
+	TInt GetSmartCardApplicationInfoCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifySmartCardApplicationInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TSmartCardApplicationEvent* aEvent, RMobilePhone::TAID* aAID);
+	TInt NotifySmartCardApplicationInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetSmartCardApplicationStatus(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TAID* aAID, RMobilePhone::TSmartCardApplicationAction aAction);
+	TInt SetSmartCardApplicationStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetScFileInfo(const TTsyReqHandle aTsyReqHandle, const RMobilePhone::TScFilePath& aFilePathId, TDes8* aInfo);
+	TInt GetScFileInfoCancel(const TTsyReqHandle aTsyReqHandle);	
+	TInt ReadScFile(const TTsyReqHandle aTsyReqHandle, const RMobilePhone::TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8* aReadBuffer);
+	TInt ReadScFileCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt UpdateScFile(const TTsyReqHandle aTsyReqHandle, const RMobilePhone::TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8* aWriteBuffer);
+	TInt UpdateScFileCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetCurrentActiveUSimApplication(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TAID* aAID);
+	TInt GetCurrentActiveUSimApplicationCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetSmartCardAuthenticationData(const TTsyReqHandle aTsyReqHandle, TDes8* aSmartCardAuthData, RMobilePhone::TAID* aAID);
+	TInt GetSmartCardAuthenticationDataCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt CharToSeptNumL(const TChar& aChar) const;
+	void ConvertTextToBinary(const TDesC& aSrc, TDes8& aDst);
+	TInt SetEmergencyClient(const TTsyReqHandle aTsyReqHandle, TUint32* aEmergencyRequest);
+	
+	TInt GetAuthenticationListPhase1(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneAuthenticationIds::TAuthRequestData* aRequest,TInt* aBufSize);
+	TInt ProcessGetGbaPhase1L(const TTsyReqHandle aTsyReqHandle,RMobilePhone::TClientId* aId,TInt* aBufSize);
+	TInt ProcessGetMbmsPhase1L(const TTsyReqHandle aTsyReqHandle,RMobilePhone::TClientId* aId,TInt* aBufSize);
+	TInt GetAuthenticationListPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId*,TDes8* aBuffer);
+	TInt GetAuthenticationListCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt NotifyAuthenticateDataChange(const TTsyReqHandle aTsyReqHandle, TDes8* aAuthInfo);
+	TInt NotifyAuthenticateDataChangeCancel(TTsyReqHandle aTsyReqHandle);
+	
+	TInt GetAuthenticationParams(const TTsyReqHandle aTsyReqHandle,TDes8* aAuthInfo,TDes8* aParams);
+	TInt GetAuthenticationParamsCancel(TTsyReqHandle aTsyReqHandle);
+	
+	TInt SetGbaBootstrapParams(const TTsyReqHandle aTsyReqHandle,RMobilePhone::TAID* aAID,TDes8* aParams);
+	TInt SetGbaBootstrapParamsCancel(TTsyReqHandle aTsyReqHandle);
+	
+	TInt NotifyWlanDataChange(const TTsyReqHandle aTsyReqHandle, TDes8* aData);
+	TInt NotifyWlanDataChangeCancel(TTsyReqHandle aTsyReqHandle);
+
+	TInt NotifyPreferredWlanSIDListChange(TTsyReqHandle aTsyReqHandle);
+	TInt NotifyPreferredWlanSIDListChangeCancel(TTsyReqHandle aTsyReqHandle);
+	
+	TInt GetWlanData(const TTsyReqHandle aTsyReqHandle,TDes8* aData);
+	TInt GetWlanDataCancel(TTsyReqHandle aTsyReqHandle);
+
+	TInt SetWlanData(const TTsyReqHandle aTsyReqHandle,TDes8* aData);
+	TInt SetWlanDataCancel(TTsyReqHandle aTsyReqHandle);
+
+	TInt GetPreferredWlanSIDsPhase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt ProcessGetPreferredWlanSIDsPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt GetPreferredWlanSIDsPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetPreferredWlanSIDsCancel(const TTsyReqHandle aTsyReqHandle);
+	
+	TInt StorePreferredWlanSIDList(const TTsyReqHandle aTsyReqHandle,TDes8* aBuffer);
+	TInt StorePreferredWlanSIDListCancel(TTsyReqHandle aTsyReqHandle);
+	
+	TInt ProcessStorePreferredWlanSIDListL(TTsyReqHandle aTsyReqHandle,TDes8* aBuffer);
+	
+private:
+
+	class CActiveListNode : public CBase
+		{
+		public:
+			CActiveListNode(CActive *aActive, const TTsyReqHandle aTsyReqHandle);
+			virtual ~CActiveListNode();
+		public:
+			CActive *iActive;
+			const TTsyReqHandle iTsyReqHandle;
+			TSglQueLink iNext;
+		};
+
+
+	TInt FindDelayedReq(const TTsyReqHandle aTsyReqHandle, CActiveListNode *& aNode);
+
+private: // data
+	TInt iNotifyModeChange;
+	TInt iNotifyIccAccessCaps;
+	TInt iNotifyBatteryInfoChange;
+	TInt iNotifySignalStrengthChange;
+	TInt iNotifyIndicatorChange;
+	TInt iNotifyDTMFCapsChange;
+	TInt iNotifyStopInDTMFString;
+	TInt iNotifyCurrentNetworkChange;
+	TInt iNotifyCellInfoChange;	
+	TInt iNotifyNetworkRegistrationStatusChange;
+	TInt iNotifyCallForwardingStatusChange;
+	TInt iNotifyCallForwardingActive;
+	TInt iNotifyNetworkSelectionSettingChange;
+	TInt iNotifyNetworkTimeInfoChange;
+	TInt iNotifyCallServiceCaps;
+	TInt iNotifyCallBarringStatusChange;
+	TInt iNotifyCallWaitingStatusChange;
+	TInt iNotifyCCBSStatusChange;
+	TInt iNotifyCCBSRecall;
+	TInt iNotifyAlternatingCallCapsChange;
+	TInt iNotifyAlternatingCallModeChange;
+	TInt iNotifyALSLineChange;
+	TInt iNotifyCostCapsChange;
+	TInt iNotifyCostInfoChange;
+	TInt iNotifySecurityCapsChange;
+	TInt iNotifyLockInfoChange;
+	TInt iNotifySecurityCodeInfoChange;
+	TInt iNotifyOnSecurityEvent;
+	TInt iNotifyMessageWaiting;
+	TInt iNotifyIccMessageWaitingChange;
+	TInt iNotifyFdnStatusChange;
+	TInt iNotifyMulticallParamsChange;
+	TInt iNotifyIncomingCallTypeChange;
+	TInt iNotifyUUSSettingChange;
+	TInt iNotifyDefaultPrivacyChange;
+	TInt iNotifyMmCallPrefChange;
+	TInt iNotifyNetworkSecurityChange;
+	TInt iNotifyUSimAppsSelectionModeChange;
+	TInt iNotifyUSimApplicationsInfoChange;
+	TInt iNotifyMailBoxNumbersChange;
+	TInt iNotifyMmsUpdate;
+	TInt iNotifyMmsConfig;
+	TInt iNotifyNetworkInvScanEvent;
+	TInt iNotifyNetworkInvScanChange;
+	TInt iNotifyAirTimeChangeChange;
+	TInt iTerminateAllCalls;
+	TInt iNotifySendNetworkServiceRequest;
+	TInt iClearBlacklist;
+	TInt iNotifyDTMFEvent;
+	TInt iNotifyCipheringIndicatorStatus;
+	TInt iNotifyIdentityServiceStatus;
+	TInt iNotifyIdentitySuppressionRejected;
+	TInt iNotifyMulticallIndicatorChange;
+	TInt iNotifyImsAuthorizationInfoChange;
+	TInt iNotifySmartCardApplicationInfoChange;
+	TInt iNotifyAuthenticationDataChange;
+	TInt iNotifyWlanDataChange;
+	
+	TInt iGbaBootstrapAuthDataFail;
+	TInt iGbaNafAuthDataFail;
+	TInt iMbmsMskUpdateAuthDataFail;
+	TInt iMbmsMtkGenerateAuthDataFail;
+	TInt iMbmsMukDeleteAuthDataFail;
+	TInt iMbmsMskDeleteAuthDataFail;
+
+	TInt iPhoneTestCount;
+	CArrayPtrFlat<CListReadAllAttempt>* iGetDetectedNetworks;
+	CArrayPtrFlat<CListReadAllAttempt>* iGetCFStatus;
+	CArrayPtrFlat<CListReadAllAttempt>* iGetCB;
+	CArrayPtrFlat<CListReadAllAttempt>* iGetCWStatus;
+	CArrayPtrFlat<CListReadAllAttempt>* iGetCcbsRequests;
+	CArrayPtrFlat<CListReadAllAttempt>* iGetPreferredNetworks;
+	CArrayPtrFlat<CListReadAllAttempt>* iGetAuthorizationData;
+	CArrayPtrFlat<CListReadAllAttempt>* iGetWlanSIDsData;
+
+	TSglQue<CActiveListNode> iActiveRequestObjects;
+	CArrayPtrFlat<CListReadAllAttempt>*  iAuthReadAll;
+	
+public:
+	RMobilePhone::CImsAuthorizationInfoV5* iAuthInfo; 
+	};
+
+
+//
+//	CDelayedCompleter
+//
+
+class CDelayedCompleter : public CTimer
+	{
+public:
+	static CDelayedCompleter *NewL(const TTsyReqHandle aTsyReqHandle, CPhoneDMmTsy *aPhoneObject,
+		CTelObject *aTelObject);
+	void RunL();
+
+protected:
+	CDelayedCompleter(const TTsyReqHandle aTsyReqHandle, CPhoneDMmTsy *aPhoneObject,
+		CTelObject *aTelObject);
+	void ConstructL();
+
+protected:
+	const TTsyReqHandle iTsyReqHandle;
+	CPhoneDMmTsy *iPhoneObject;
+	CTelObject *iTelObject;
+	};
+
+
+/**************************************************************************/
+//
+//	CSmsMessagingDMmTsy
+//
+/**************************************************************************/
+
+class CSmsMessagingDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CSmsMessagingDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CSmsMessagingDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CSmsMessagingDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	TInt GetCaps(const TTsyReqHandle aTsyReqHandle, TDes8* aCaps);
+
+	TInt ReceiveMessage(const TTsyReqHandle aTsyReqHandle, TDes8* aMsgData, TDes8* aMsgAttributes);
+	TInt ReceiveMessageCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt AckSmsStored(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TBool *aFull);
+	TInt AckSmsStoredCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt NackSmsStored(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TInt* aRpCause);
+	TInt NackSmsStoredCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt ResumeSmsReception(const TTsyReqHandle aTsyReqHandle);
+
+	TInt SendMessage(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDes8* aMsgAttributes);
+	TInt SendMessageCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt SendMessageNoFdnCheck(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDes8* aMsgAttributes);
+	TInt SendMessageNoFdnCheckCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt EnumerateMessageStores(const TTsyReqHandle aTsyReqHandle, TInt* aCount);
+	TInt GetMessageStoreInfo(const TTsyReqHandle aTsyReqHandle, TInt *aIndex, TDes8* aInfo);
+	TInt GetMessageStoreInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetReceiveMode(const TTsyReqHandle aTsyReqHandle, RMobileSmsMessaging::TMobileSmsReceiveMode* aReceiveMode);
+	TInt SetReceiveMode(const TTsyReqHandle aTsyReqHandle, RMobileSmsMessaging::TMobileSmsReceiveMode* aReceiveMode);
+	TInt SetReceiveModeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyReceiveModeChange(const TTsyReqHandle aTsyReqHandle, RMobileSmsMessaging::TMobileSmsReceiveMode* aReceiveMode);
+	TInt NotifyReceiveModeChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetMoSmsBearer(const TTsyReqHandle aTsyReqHandle, RMobileSmsMessaging::TMobileSmsBearer* aBearer);
+	TInt SetMoSmsBearer(const TTsyReqHandle aTsyReqHandle, RMobileSmsMessaging::TMobileSmsBearer* aBearer);
+	TInt SetMoSmsBearerCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyMoSmsBearerChange(const TTsyReqHandle aTsyReqHandle, RMobileSmsMessaging::TMobileSmsBearer* aBearer);
+	TInt NotifyMoSmsBearerChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	// specific SMSP store functionality
+	TInt ReadSmspListPhase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient,TInt* aBufSize);
+	TInt ProcessReadSmspListPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId, TInt* aBufSize);
+	TInt ReadSmspListPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* ,TDes8* aBuffer);
+	TInt ReadSmspListCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt StoreSmspList(const TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
+	TInt ProcessStoreSmspListL(const TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
+	TInt StoreSmspListCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifySmspListChange(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifySmspListChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	static TInt ValidateSmspEntry(const RMobileSmsMessaging::TMobileSmspEntryV1& aEntry);
+	static void InitSmspEntry(RMobileSmsMessaging::TMobileSmspEntryV1& aEntry);
+
+private:
+	TInt iReceiveMessage;
+	TInt iNotifySmspListChange;
+	TInt iNotifyReceiveModeChange;
+	TInt iNotifyMoSmsBearerChange;
+
+	TName iMessagingName;
+	CPhoneDMmTsy *iPhone;
+	CArrayPtrFlat<CListReadAllAttempt>*  iSmspReadAll;
+	};
+
+/**************************************************************************/
+//
+//	CBroadcastMessagingDMmTsy
+//
+/**************************************************************************/
+
+class CBroadcastMessagingDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CBroadcastMessagingDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CBroadcastMessagingDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CBroadcastMessagingDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	TInt GetCaps(const TTsyReqHandle aTsyReqHandle, TDes8* aCaps);
+	TInt ReceiveMessage(const TTsyReqHandle aTsyReqHandle, TDes8* aMsg, TDes8* aMsgAtts);
+	TInt ReceiveMessageCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetFilterSetting(const TTsyReqHandle aTsyReqHandle, RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter* aSetting);
+	TInt SetFilterSetting(const TTsyReqHandle aTsyReqHandle, RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter* aSetting);
+	TInt SetFilterSettingCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyFilterSettingChange(const TTsyReqHandle aTsyReqHandle, RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter* aSetting);
+	TInt NotifyFilterSettingChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt GetLanguageFilter(const TTsyReqHandle aTsyReqHandle, TDes16* aLangFilter);
+	TInt GetLanguageFilterCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetLanguageFilter(const TTsyReqHandle aTsyReqHandle, TDesC16* aLangFilter);
+	TInt SetLanguageFilterCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyLanguageFilterChange(const TTsyReqHandle aTsyReqHandle, TDes16* aLangFilter);
+	TInt NotifyLanguageFilterChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetBroadcastIdListPhase1(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneBroadcastIdList::TGetBroadcastIdRequest* aReqData, TInt* aBufSize);
+	TInt ProcessGetBroadcastIdListPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TInt* aBufSize);
+	TInt GetBroadcastIdListPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aClient, TDes8* aBuf);
+	TInt GetBroadcastIdListCancel(const TTsyReqHandle aTsyReqHandle);
+
+	void StoreBroadcastIdListL(const TTsyReqHandle aTsyReqHandle, TDes8* aList);
+	TInt StoreBroadcastIdListCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyBroadcastIdListChange(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyBroadcastIdListChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+private:
+	TInt iNotifyFilterSettingChange;
+	TInt iNotifyLanguageFilterChange;
+	TInt iReceiveMessage;
+	TInt iNotifyBroadcastIdListChange;
+
+	TName iMessagingName;
+	CPhoneDMmTsy *iPhone;
+	CArrayPtrFlat<CListReadAllAttempt>*  iCbmiListRequests;
+	};
+
+/**************************************************************************/
+//
+//	CUssdMessagingDMmTsy
+//
+/**************************************************************************/
+
+class CUssdMessagingDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CUssdMessagingDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CUssdMessagingDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CUssdMessagingDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	TInt GetCaps(const TTsyReqHandle aTsyReqHandle, TDes8* aCaps);
+	TInt ReceiveMessage(const TTsyReqHandle aTsyReqHandle, TDes8* aMsgData, TDes8* aMsgAttributes);
+	TInt ReceiveMessageCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SendMessage(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDesC8* aMsgAttributes);
+	TInt SendMessageCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SendMessageNoFdnCheck(const TTsyReqHandle aTsyReqHandle, TDesC8* aMsgData, TDesC8* aMsgAttributes);
+	TInt SendMessageNoFdnCheckCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SendRelease(const TTsyReqHandle aTsyReqHandle, TDes8* aReturnResult);
+	TInt SendReleaseCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyNetworkRelease(const TTsyReqHandle aTsyReqHandle, TDes8* aReturnResult);
+	TInt NotifyNetworkReleaseCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyNetworkRelease(const TTsyReqHandle aTsyReqHandle, TDes8* aReturnResult, TDes8* aStatus);
+private:
+	TInt iReceiveMessage;
+	TName iMessagingName;
+	CPhoneDMmTsy *iPhone;
+	TInt iSendRelease;
+	TInt iNetworkRelease;
+	};
+
+/**************************************************************************/
+//
+//	CSmsStoreDMmTsy
+//
+/**************************************************************************/
+
+class CSmsStoreDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CSmsStoreDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CSmsStoreDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CSmsStoreDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	// general phone storage functionality
+	TInt GetInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhoneStore::TMobilePhoneStoreInfoV1* aInfo);
+	TInt GetInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt Read(const TTsyReqHandle aTsyReqHandle, TDes8* aEntry);
+	TInt ReadCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Write(const TTsyReqHandle aTsyReqHandle, TDesC8* aEntry);
+	TInt WriteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Delete(const TTsyReqHandle aTsyReqHandle, TInt* aIndex);
+	TInt DeleteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAll(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAllCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyStoreEvent(const TTsyReqHandle aTsyReqHandle, RMobilePhoneStore::TMobileStoreEvent *aEvent, TInt* aIndex);
+	TInt NotifyStoreEventCancel(const TTsyReqHandle aTsyReqHandle);
+
+	// specific SMS store functionality
+	TInt ReadAllPhase1(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneSmsList::TBatchRequestData* aRequest,TInt* aBufSize);
+	TInt ProcessReadAllGsmPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId, TInt* aBufSize);
+	TInt ProcessReadAllCdmaPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId, TInt* aBufSize);
+	TInt ReadAllPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* ,TDes8* aBuffer);
+	TInt ReadAllCancel(const TTsyReqHandle aTsyReqHandle);
+
+private:
+	TInt iNotifyStoreEvent;
+
+	TName iSmsStoreName;
+	CArrayPtrFlat<CListReadAllAttempt>*  iSmsReadAll;
+	CPhoneDMmTsy *iPhone;
+	};
+
+/**************************************************************************/
+//
+//	CNamStoreDMmTsy
+//
+/**************************************************************************/
+
+class CNamStoreDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CNamStoreDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CNamStoreDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CNamStoreDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	// general phone storage functionality
+
+	TInt GetInfo(const TTsyReqHandle aTsyReqHandle, RMobileNamStore::TMobileNamStoreInfoV1* aInfo);
+	TInt GetInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	static TInt ValidateNamEntry(RMobileNamStore::TMobileNamEntryV1& aEntry);
+	static void InitNamEntry(RMobileNamStore::TMobileNamEntryV1& aEntry);
+	static TInt ValidateNamEntry(RMobileNamStore::TMobileNamEntryV4& aEntry);
+	static void InitNamEntry(RMobileNamStore::TMobileNamEntryV4& aEntry);
+
+	TInt Read(const TTsyReqHandle aTsyReqHandle, TDes8* aEntry);
+	TInt ReadCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Write(const TTsyReqHandle aTsyReqHandle, TDesC8* aEntry);
+	TInt WriteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Delete(const TTsyReqHandle aTsyReqHandle, TInt* aIndex);
+	TInt DeleteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAll(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAllCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyStoreEvent(const TTsyReqHandle aTsyReqHandle, RMobilePhoneStore::TMobileStoreEvent *aEvent, TInt* aIndex);
+	TInt NotifyStoreEventCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt ReadAllPhase1(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneNamList::TNamRequestData* aRequestData,TInt* aBufSize);
+	TInt ReadAllPhase1V4(const TTsyReqHandle aTsyReqHandle, CRetrieveMobilePhoneNamList::TNamRequestData* aRequestData,TInt* aBufSize);
+	TInt ProcessReadAllPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId, TInt* aBufSize);
+	TInt ProcessReadAllPhase1V4L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId, TInt* aBufSize);
+	TInt ReadAllPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* ,TDes8* aBuffer);
+	TInt ReadAllPhase2V4(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* ,TDes8* aBuffer);
+	TInt ReadAllCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt SetActiveNam(const TTsyReqHandle aTsyReqHandle, TInt *aNamId);
+	TInt SetActiveNamCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt StoreAll(const TTsyReqHandle aTsyReqHandle, TInt *aNamId, TDes8* aBuffer);
+	TInt StoreAllV4(const TTsyReqHandle aTsyReqHandle, TInt *aNamId, TDes8* aBuffer);
+	TInt ProcessStoreAllL(const TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
+	TInt ProcessStoreAllV4L(const TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
+	TInt StoreAllCancel(const TTsyReqHandle aTsyReqHandle);
+
+
+private:
+	TInt iNotifyStoreEvent;
+
+	TName iNamStoreName;
+	CArrayPtrFlat<CListReadAllAttempt>*  iNamReadAll;
+	CPhoneDMmTsy *iPhone;
+	};
+
+/**************************************************************************/
+//
+//	CONStoreDMmTsy
+//
+/**************************************************************************/
+
+class CONStoreDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CONStoreDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CONStoreDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CONStoreDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	// general phone storage functionality
+
+	TInt GetInfo(const TTsyReqHandle aTsyReqHandle, RMobileONStore::TMobileONStoreInfoV1* aInfo);
+	TInt GetInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	static TInt ValidateONEntry(RMobileONStore::TMobileONEntryV1& aEntry);
+	static void InitONEntry(RMobileONStore::TMobileONEntryV1& aEntry);
+
+	TInt Read(const TTsyReqHandle aTsyReqHandle, TDes8* aEntry);
+	TInt ReadCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Write(const TTsyReqHandle aTsyReqHandle, TDesC8* aEntry);
+	TInt WriteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Delete(const TTsyReqHandle aTsyReqHandle, TInt* aIndex);
+	TInt DeleteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAll(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAllCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyStoreEvent(const TTsyReqHandle aTsyReqHandle, RMobilePhoneStore::TMobileStoreEvent *aEvent, TInt* aIndex);
+	TInt NotifyStoreEventCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt ReadAllPhase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId,TInt* aBufSize);
+	TInt ProcessReadAllPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId, TInt* aBufSize);
+	TInt ReadAllPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId,TDes8* aBuffer);
+	TInt ReadAllCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt StoreAll(const TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
+	TInt ProcessStoreAllL(const TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
+	TInt StoreAllCancel(const TTsyReqHandle aTsyReqHandle);
+
+
+private:
+	TInt iNotifyStoreEvent;
+
+	TName iONStoreName;
+	CArrayPtrFlat<CListReadAllAttempt>*  iONReadAll;
+	CPhoneDMmTsy *iPhone;
+	};
+
+
+/**************************************************************************/
+//
+//	CENStoreDMmTsy
+//
+/**************************************************************************/
+
+class CENStoreDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CENStoreDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CENStoreDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CENStoreDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	// general phone storage functionality
+
+	TInt GetInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhoneStore::TMobilePhoneStoreInfoV1* aInfo);
+	TInt GetInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	static TInt ValidateENEntry(RMobileENStore::TMobileENEntryV1& aEntry);
+	static void InitENEntry(RMobileENStore::TMobileENEntryV1& aEntry);
+
+	TInt Read(const TTsyReqHandle aTsyReqHandle, TDes8* aEntry);
+	TInt ReadCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Write(const TTsyReqHandle aTsyReqHandle, TDesC8* aEntry);
+	TInt WriteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Delete(const TTsyReqHandle aTsyReqHandle, TInt* aIndex);
+	TInt DeleteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAll(const TTsyReqHandle aTsyReqHandle);
+	TInt DeleteAllCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyStoreEvent(const TTsyReqHandle aTsyReqHandle, RMobilePhoneStore::TMobileStoreEvent *aEvent, TInt* aIndex);
+	TInt NotifyStoreEventCancel(const TTsyReqHandle aTsyReqHandle);
+																			
+	TInt ReadAllPhase1(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId,TInt* aBufSize);
+	TInt ProcessReadAllPhase1L(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId, TInt* aBufSize);
+	TInt ReadAllPhase2(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TClientId* aId,TDes8* aBuffer);
+	TInt ReadAllCancel(const TTsyReqHandle aTsyReqHandle);
+
+private:
+	TInt iNotifyStoreEvent;
+
+	TName iENStoreName;
+	CArrayPtrFlat<CListReadAllAttempt>*  iENReadAll;
+	CPhoneDMmTsy *iPhone;
+	};
+
+/**************************************************************************/
+//
+//	CMobilePhoneBookStoreDMmTsy
+//
+/**************************************************************************/
+
+class CMobilePhoneBookStoreDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CMobilePhoneBookStoreDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName, const TDesC& aType =KEtelUSimPhoneBookType);
+	CMobilePhoneBookStoreDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName, const TDesC& aType =KEtelUSimPhoneBookType);
+	void ConstructL();
+	~CMobilePhoneBookStoreDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	// general phone storage functionality
+
+	TInt GetInfo(const TTsyReqHandle aTsyReqHandle, TDes8* aInfo);
+	TInt GetInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt Read(const TTsyReqHandle aTsyReqHandle, RMobilePhoneBookStore::TPBIndexAndNumEntries* aIndexAndEntries, TDes8* aPBData);
+	TInt ReadCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Write(const TTsyReqHandle aTsyReqHandle, TDesC8* aPBData, TInt* aIndex);
+	TInt WriteCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Delete(const TTsyReqHandle aTsyReqHandle, TInt* aIndex);
+	TInt DeleteCancel(const TTsyReqHandle aTsyReqHandle);
+																				
+private:
+	TName iPhoneBookStoreName;
+	TName iPhoneBookData;
+	TName iIccType;
+	CPhoneDMmTsy *iPhone;
+	};
+
+/**************************************************************************/
+//
+//	CMobileConferenceCallDMmTsy
+//
+/**************************************************************************/
+
+class CMobileConferenceCallDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CMobileConferenceCallDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CMobileConferenceCallDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CMobileConferenceCallDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual void Init();
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+private:
+	// general phone storage functionality
+
+	TInt GetCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifyCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt CreateConference(const TTsyReqHandle aTsyReqHandle);
+	TInt CreateConferenceCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt AddCall(const TTsyReqHandle aTsyReqHandle, TDes* aCallName);
+	TInt AddCallCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt Swap(const TTsyReqHandle aTsyReqHandle);
+	TInt SwapCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt HangUp(const TTsyReqHandle aTsyReqHandle);
+	TInt HangUpCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt EnumerateCalls(const TTsyReqHandle aTsyReqHandle, TUint* aCount);
+	TInt GetMobileCallInfo(const TTsyReqHandle aTsyReqHandle, TInt *aIndex, TDes8* aCallInfo);
+	TInt GetConferenceStatus(const TTsyReqHandle aTsyReqHandle, RMobileConferenceCall::TMobileConferenceStatus* aStatus);
+	TInt NotifyConferenceStatusChange(const TTsyReqHandle aTsyReqHandle, RMobileConferenceCall::TMobileConferenceStatus* aStatus);
+	TInt NotifyConferenceStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyConferenceEvent(const TTsyReqHandle aTsyReqHandle, RMobileConferenceCall::TMobileConferenceEvent* aEvent, TDes* aCallName);
+	TInt NotifyConferenceEventCancel(const TTsyReqHandle aTsyReqHandle);
+
+
+private:
+	CPhoneDMmTsy *iPhone;
+	TName iConferenceName;
+	TInt iNotifyCapsChange;
+	TInt iNotifyConferenceStatusChange;
+	TInt iNotifyConferenceEvent;
+	};
+
+/**************************************************************************/
+//
+//	CPhoneFactoryDMmTsy
+//
+/**************************************************************************/
+
+class CPhoneFactoryDMmTsy: public CPhoneFactoryDummyBase
+	{
+public:
+	static CPhoneFactoryDMmTsy* NewL();
+	~CPhoneFactoryDMmTsy();
+	virtual CPhoneBase* NewPhoneL(const TDesC& aName);
+	virtual TBool IsSupported(const TInt aMixin);
+private:
+	CPhoneFactoryDMmTsy();
+	};
+
+
+/**************************************************************************/
+//
+//	CSmartCardEapDMmTsy
+//
+/**************************************************************************/
+
+class CSmartCardEapDMmTsy : public CSubSessionExtDummyBase
+	{
+class CThreadTerminationNotifier;
+friend class CThreadTerminationNotifier;
+
+public:
+	static CSmartCardEapDMmTsy* NewL(CPhoneDMmTsy *aPhone, RMobilePhone::TAID& aAID, RMobileSmartCardEap::TEapType& aEapType, CPhoneFactoryDummyBase* aFac);
+	CSmartCardEapDMmTsy(CPhoneDMmTsy *aPhone, RMobilePhone::TAID& aAID, RMobileSmartCardEap::TEapType& aEapType, CPhoneFactoryDummyBase* aFac);
+	void ConstructL();
+	~CSmartCardEapDMmTsy();
+
+public:
+	virtual void Init();
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+
+private:
+	static CSmartCardEapDMmTsy* This(TAny* aPtr);
+
+	TInt DMmInitialiseEapMethod(const TTsyReqHandle aTsyReqHandle, TThreadId* aThreadId);
+	TInt DMmInitialiseEapMethodCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DMmGetUserIdentity(const TTsyReqHandle aTsyReqHandle, RMobileSmartCardEap::TEapUserIdType* aEapIdType, TDes8* aUserId);
+	TInt DMmGetUserIdentityCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DMmGetAuthenticationStatus(const TTsyReqHandle aTsyReqHandle, RMobileSmartCardEap::TEapAuthStatus* aAuthStatus);
+	TInt DMmGetAuthenticationStatusCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DMmGetEapKey(const TTsyReqHandle aTsyReqHandle, RMobileSmartCardEap::TEapKeyTag* aEapKeyTag, TDes8* aKey);
+	TInt DMmGetEapKeyCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DMmSetAuthenticateDataForPhase1(const TTsyReqHandle aTsyReqHandle, TDes8* aEapAuthData, TInt* aPhase1Size);
+	TInt DMmGetAuthenticateDataForPhase2(const TTsyReqHandle aTsyReqHandle, TDes8* aEapAuthData, TDes8* aPhase2Resp);
+	TInt DMmSmartCardEapAuthenticationCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt DMmReleaseEapMethod(const TTsyReqHandle aTsyReqHandle);
+	TInt DMmGetEapMethodAccessStatus(const TTsyReqHandle aTsyReqHandle, RMobileSmartCardEap::TEapMethodAccessStatus* aEapState);
+	TInt DMmNotifyEapMethodAccessStatusChange(const TTsyReqHandle aTsyReqHandle, RMobileSmartCardEap::TEapMethodAccessStatus* aEapState);
+	TInt DMmNotifyEapMethodAccessStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
+	void DMmCompleteNotifyEapMethodAccessStatusChange();
+	virtual RHandleBase* GlobalKernelObjectHandle();
+	void ClientHasTerminated(TInt aExitReason);
+
+private:
+	class CActiveListNode : public CBase
+		{
+	public:
+		CActiveListNode(CActive *aActive, const TTsyReqHandle aTsyReqHandle);
+		virtual ~CActiveListNode();
+	public:
+		CActive *iActive;
+		const TTsyReqHandle iTsyReqHandle;
+		TSglQueLink iNext;
+		};
+
+	class TNotifyData
+		{
+	public:
+		TBool iNotifyPending;
+		TTsyReqHandle iNotifyHandle;
+		TAny* iNotifyData;
+		};
+
+	class CThreadTerminationNotifier : public CActive
+		{
+	public:
+		static CThreadTerminationNotifier* NewL(CSmartCardEapDMmTsy* aSubSess, const TThreadId& aId);
+		void Start();
+		~CThreadTerminationNotifier();
+
+	private:
+		CThreadTerminationNotifier(CSmartCardEapDMmTsy* aPhone);
+		void ConstructL(const TThreadId& aId);
+		void DoCancel();
+		void RunL();
+
+	private:
+		CSmartCardEapDMmTsy* iSubSess;
+		RThread iCliThread;
+		};
+
+private: // data
+	TSglQue<CActiveListNode> iActiveRequestObjects;
+	CPhoneDMmTsy *iPhone;
+	TPtrC8 iRespPtrC;
+	TBool iSSInitialised;
+	RMobilePhone::TAID iAID;
+	RMobileSmartCardEap::TEapType iEapType;
+	RSemaphore iSemaphr;
+	RMobileSmartCardEap::TEapMethodAccessStatus iAccessStatus;
+	TNotifyData iEapAccessNotifyData;
+	CThreadTerminationNotifier* iCliTerminationNotifier;
+	};
+
+
+/**************************************************************************/
+//
+//	CMobileLocationServicesDMmTsy
+//
+/**************************************************************************/
+
+class CMobileLocationServicesDMmTsy : public CSubSessionExtDummyBase
+	{
+public:
+	static CMobileLocationServicesDMmTsy* NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	CMobileLocationServicesDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName);
+	void ConstructL();
+	~CMobileLocationServicesDMmTsy();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIPC);
+	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+    virtual void Init(); 
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+	TInt iCount;
+private:
+    TInt SendMtlrResponse(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TMtlrResponse* aMtlrResponse);
+    TInt SendMtlrResponse(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TMtlrError* aMtlrError);
+    TInt SendMtlrResponse(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TMtlrReject* aMtlrReject);
+	TInt NotifyMtlr(const TTsyReqHandle aTsyReqHandle,TDes8* aNotifyMtlr);
+	TInt SendMolr(const TTsyReqHandle aTsyReqHandle,TDes8* aStartMolr,TDes8* aMolrReturnResult);
+	TInt NotifyMtlrCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SendMolrCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SendMtlrResponseCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt NotifyMeasurementControl(const TTsyReqHandle aTsyReqHandle,TDes8* aMeasurementControl);
+	TInt SendMeasurementReport(const TTsyReqHandle aTsyReqHandle,TDes8* aMeasurementReport);
+	TInt SendMeasurementReport(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TMeasurementControlFailure* aMeasurementControlFailure);
+	TInt NotifyMeasurementControlCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SendMeasurementReportCancel(const TTsyReqHandle aTsyReqHandle);
+	TInt SetLcsDomain(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TDomain* aDomain);
+	TInt NotifyResetUePositioningInformation(const TTsyReqHandle aTsyReqHandle, RMobileLocationServices::TUePosTechnology* aUePosTechnology);
+	TInt NotifyResetUePositioningInformationCancel(const TTsyReqHandle aTsyReqHandle);
+private:
+	CPhoneDMmTsy *iPhone;
+	TName        iLocationServices;
+	};
+
+#endif // __MMTSY_H