mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/etelmm.h
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/etelmm.h	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12666 +0,0 @@
-/*
-* Copyright (c) 2000-2007 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
-
-Multimode ETel API header file.
-
-Describes the MM ETel API - classes, methods and types.
-
-@publishedPartner
-@released
-*/
-
-#ifndef __ETELMM_H__
-#define __ETELMM_H__
-
-#include <e32base.h>
-#include <s32mem.h>
-#include <etel.h>
-#include <etelmmcs.h>
-
-
-/** 
-Internal API/TSY delimiter used to pass the phonebook type
-*/
-#define PHBOOK_DELIMITER		_L("//")
-/** The size of the phone book delimiter string.
-@internalComponent
- */
-const TInt KSizeOfPhbookDelimiter=2;
-
-/**
-Names for Multimode ETel sub-sessions
-*/
-_LIT(KETelMeAdnPhoneBook,"S1");
-_LIT(KETelMeDialledPhoneBook,"S2");
-_LIT(KETelMeMissedPhoneBook,"S3");
-_LIT(KETelMeReceivedPhoneBook,"S4");
-_LIT(KETelCombinedAdnPhoneBook,"S5");
-_LIT(KETelTaAdnPhoneBook,"S6");
-_LIT(KETelIccAdnPhoneBook,"S7");
-_LIT(KETelIccFdnPhoneBook,"S8");
-_LIT(KETelIccSdnPhoneBook,"S9");
-_LIT(KETelIccBdnPhoneBook,"S10");
-_LIT(KETelIccLndPhoneBook,"S11");
-_LIT(KETelIccVoiceMailBox,"S12");
-
-_LIT(KETelMeSmsStore,"S13");
-_LIT(KETelIccSmsStore,"S14");
-_LIT(KETelCombinedSmsStore,"S15");
-
-_LIT(KETelNamStore,"S16");
-_LIT(KETelOwnNumberStore,"S17");
-_LIT(KETelEmergencyNumberStore,"S18");
-
-_LIT(KETelSmsMessaging,"S19");
-_LIT(KETelBroadcastMessaging,"S20");
-_LIT(KETelUssdMessaging,"S21");
-
-_LIT(KETelConferenceCall,"S22");
-
-_LIT(KETelIccMbdnPhoneBook, "S23");
-_LIT(KETelIccMsisdnPhoneBook, "S24");
-_LIT(KETelIccOciPhoneBook, "S25");
-_LIT(KETelIccIciPhoneBook, "S26");
-_LIT(KETelIccNamStore ,"S27");
-_LIT(KETelIccInfoPhoneBook, "S28");
-
-_LIT(KETelLocationServices,"S29");
-
-// Types for Multimode ETel sub-sessions
-
-_LIT(KEtelCdmaPhoneBookType,"T1");
-_LIT(KEtelGsmPhoneBookType,"T2");
-_LIT(KEtelUSimPhoneBookType,"T3");
-
-// Types for SmartCardEap sub-sessions
-
-/**
-The prefix to all RMobileSmartCardEap sub-session names.
-*/
-_LIT(KETelSmartCardEapSession, "ScEap");
-/**
-The length of KETelSmartCardEapSession.  Used to obtain a const value
-for this length at compile-time.
-*/
-#define SCEAP_SSN_LENGTH 5
-
-/**
-EAP-MD5 type identifier.  Value taken from section 5 of RFC 3748 Jun 2004.
-This should be used as the EAP type identifier value of
-RMobileSmartCardEap::Open() if standard EAP-MD5 challenges are to be used.
-
-This value corresponds to one of the possible values returned in the type
-list of TUiccApplicationEapInfoV6.
-
-(Decimal value = 4)
-
-@see RMobileSmartCardEap::Open()
-@see RMobilePhone::TUiccApplicationEapInfoV6
-*/
-_LIT8(KETelSmartCardEapTypeMD5, "04");
-
-/**
-EAP-TLS type identifier.  Value taken from section 4.1 of RFC 2716 Oct 1999.
-This should be used as the EAP type identifier value of
-RMobileSmartCardEap::Open() if standard EAP-TLS is to be used.
-
-This value corresponds to one of the possible values returned in the type
-list of TUiccApplicationEapInfoV6.
-
-(Decimal value = 13)
-
-@see RMobileSmartCardEap::Open()
-@see RMobilePhone::TUiccApplicationEapInfoV6
-*/
-_LIT8(KETelSmartCardEapTypeTLS, "0D");
-
-/**
-EAP-SIM type identifier.
-This should be used as the EAP type identifier value of
-RMobileSmartCardEap::Open() if standard EAP-SIM is to be used.
-
-This value corresponds to one of the possible values returned in the type
-list of TUiccApplicationEapInfoV6.
-
-(Decimal value = 18)
-
-@see RMobileSmartCardEap::Open()
-@see RMobilePhone::TUiccApplicationEapInfoV6
-*/
-_LIT8(KETelSmartCardEapTypeSIM, "12");
-
-/**
-EAP-AKA type identifier.
-This should be used as the EAP type identifier value of
-RMobileSmartCardEap::Open() if standard EAP-AKA is to be used.
-
-This value corresponds to one of the possible values returned in the type
-list of TUiccApplicationEapInfoV6.
-
-(Decimal value = 23)
-
-@see RMobileSmartCardEap::Open()
-@see RMobilePhone::TUiccApplicationEapInfoV6
-*/
-_LIT8(KETelSmartCardEapTypeAKA, "17");
-
-/**
-EAP-TTLS type identifier.
-This should be used as the EAP type identifier value of
-RMobileSmartCardEap::Open() if standard EAP-TTLS is to be used.
-
-This value corresponds to one of the possible values returned in the type
-list of TUiccApplicationEapInfoV6.
-
-(Decimal value = 21)
-
-@see RMobileSmartCardEap::Open()
-@see RMobilePhone::TUiccApplicationEapInfoV6
-*/
-_LIT8(KETelSmartCardEapTypeTTLS, "15");
-
-/***********************************************************************************/
-//
-//  Global Multimode constants and types
-// 
-/***********************************************************************************/
-
-/**
-Unique API identifier and Functional Unit constants
-Modes: Common 
-*/
-enum TMultimodeETelV1Api
-	{
-	/** TSY supports the Multimode ETel v1.0 API.
-	
-	Modes: Common */
-	KETelExtMultimodeV1=3000,  // 3000 is unique reference for Multimode Etel v1.0 API
-	/** TSY supports the MobileSimAccess functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileIccAccess,
-	/** TSY supports the MobileNetwork functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileNetwork,
-	/** TSY supports the MobileIdentity functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileIdentity,
-	/** TSY supports the MobilePower functional unit.
-	
-	Modes: Common */
-	KETelFuncMobilePower,
-	/** TSY supports the MobileSignal functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileSignal,
-	/** TSY supports the MobileIndicator functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileIndicator,
-	/** TSY supports the MobileDTMF functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileDTMF,
-	/** TSY supports the MobileUserNetworkAccess functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileUserNetworkAccess,
-	/** TSY supports the MobileIdentityService functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileIdentityService,
-	/** TSY supports the MobileCallForwarding functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileCallForwarding,
-	/** TSY supports the MobileCallBarring functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileCallBarring,
-	/** TSY supports the MobileCallWaiting functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileCallWaiting,
-	/** TSY supports the MobileCallCompletion functional unit. */
-	KETelFuncMobileCallCompletion,
-	/** TSY supports the MobileAlternatingCall functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileAlternatingCall,
-	/** TSY supports the MobileCost functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileCost,
-	/** TSY supports the MobileSecurity functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileSecurity,
-	/** TSY supports the MobileAlternateLineService functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileAlternateLineService,
-	/** TSY supports the MobileMessageWaiting functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileMessageWaiting,
-	/** TSY supports the MobileFixedDiallingNumbers functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileFixedDiallingNumbers,
-	/** TSY supports the MobileDataCall functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileDataCall,
-	/** TSY supports the MobilePrivacy functional unit.
-	
-	Modes: CDMA */
-	KETelFuncMobilePrivacy,
-	/** TSY supports the MobileEmergencyCall functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileEmergencyCall,
-	/** TSY supports the MobileSmsMessaging functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileSmsMessaging,
-	/** TSY supports the MobileBroadcastMessaging functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileBroadcastMessaging,
-	/** TSY supports the MobileUssdMessaging functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileUssdMessaging,
-	/** TSY supports the MobileConferenceCall functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileConferenceCall,
-	/** TSY supports the MobilePhonebookStore functional unit.
-	
-	Modes: Common */
-	KETelFuncMobilePhonebook,
-	/** TSY supports the MobileSmsStore functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileSmsStore,
-	/** TSY supports the MobileNamStore functional unit.
-	
-	Modes: CDMA */
-	KETelFuncMobileNamStore,
-	/** TSY supports the MobileONStore functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileOwnNumberStore,
-	/** TSY supports the MobileENStore functional unit.
-	
-	Modes: Common */
-	KETelFuncMobileEmergencyNumberStore,
-	/** TSY supports the MobileMultimedia functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileMulticall,
-	/** TSY supports the MobileNextIncomingCall functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileNextIncomingCall,
-	/** TSY supports the MobileMultimediaCall functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileMultimediaCall,
-	/** TSY supports the MobileUserSignalling functional unit.
-	
-	Modes: GSM/WCDMA */
-	KETelFuncMobileUserSignalling
-	};
-
-/** Unique API identifier and Functional Unit constants.
-Modes: WCDMA 
-
-*/
-enum TMultimodeETelV2Api
-	{
-	/** TSY supports the Multimode ETel v2.0 API.
-	
-	Modes: WCDMA */
-	KETelExtMultimodeV2=7000,  // 7000 is unique reference for Multimode Etel v2.0 API
-	/** TSY supports the MobileMultimediaCallSettings functional unit.
-	
-	Modes: WCDMA */
-	KEtelFuncMobileMultimediaCallSettings,
-	/** TSY supports the MobileNetworkSecurity functional unit.
-	
-	Modes: WCDMA */
-	KEtelFuncMobileNetworkSecurity,
-	KEtelFuncMobileUSIMApplications
-	};
-	
-/**
-Enum to define the v3.0 API additions
-
-*/
-enum TMultimodeETelV3Api
-	{
-	/**
-	Indicator that the TSY supports the Multimode ETel v3.0 API.
-	*/
-	KETelExtMultimodeV3 = 10000,	
-	/**
-	TSY supports the MobileMMSInformation functional unit.
-	*/
-	KEtelFuncMobileMMSInformation,       // 10001
-	/**
-	TSY supports the KEtelFuncMobileAirTime functional unit.
-	*/
-	KEtelFuncMobileAirTime,              // 10002
-	/**
-	TSY supports the KEtelFuncMobileAutoRedial functional unit.
-	*/
-	KEtelFuncMobileAutoRedial,           // 10003
-	/**
-	TSY supports the KEtelFuncMobilePersonalisation functional unit.
-	*/
-	KEtelFuncMobilePersonalisation,      // 10004
-	/**
-	TSY supports the KEtelMobileMailboxNumbers functional unit.
-	*/
-	KEtelFuncMobileMailboxNumbers,       // 10005
-	/**
-	TSY supports the Mobile APN Control List functional unit.
-	*/
-	KEtelFuncMobileAPNControlList        // 10006
-	};
-
-/**
-Enum to define the v4.0 API additions
-
-*/
-enum TMultimodeETelV4Api
-	{
-	/**
-	Indicator that the TSY supports the Multimode ETel v4.0 API.
-	*/
-	KETelExtMultimodeV4	= 15000
-	};
-
-
-/** Enum to define Release 5 enabling API and data structures
-*/
-enum TMultimodeEtelV5Api
-	{
-	/**
-	Indicator that the TSY supports the Multimode ETel v5.0 API.
-	*/	
-	KEtelExtMultimodeV5=20000,
-	/**
-	Indicator that the TSY supports the IMS functional unit.
-	*/	
-	KEtelFuncMobileIMS,                  // 20001
-	/**
-	TSY supports the KEtelFuncMobileSmartCardApplications functional unit.
-	*/
-	KEtelFuncMobileSmartCardApplications // 20002
-	};
-
-
-/**
-Enum to define the v6.0 API additions.
-*/
-enum TMultimodeEtelV6Api
-	{
-	/**
-	Indicator that the TSY supports the Multimode ETel v6.0 API.
-	*/	
-	KEtelExtMultimodeV6=25000,
-	/**
-	Indicator that the TSY supports the EAP supporting functional unit.
-	*/	
-	KEtelSmartCardEap                    // 25001
-	};
-/**
-Enum to define the v7.0 API additions.
-*/
-enum TMultimodeEtelV7Api
-	{
-	/**
-	Indicator that the TSY supports the Multimode ETel v7.0 API.
-	*/	
-	KEtelExtMultimodeV7=30000,
-	/**
-	Indicator that the TSY supports the LocationServices supporting functional unit.
-	*/	
-	KEtelLocationControlServices                    // 30001
-	};		
-/**
-Enum to define the Etel 3rdParty V1 API additions
-
-*/
-enum TMultimodeETel3rdPartyV1Api 
-	{
-	/**
-	Indicator that the TSY supports the Etel 3rd Party v1.0 API
-	*/
-	KETelExt3rdPartyV1 = 40000
-	};
-
-/*********************************************************/
-//
-// Phone based functionality (RMobilePhone)
-// 
-/*********************************************************/
-
-
-class CMobilePhonePtrHolder;
-class CMobilePhoneStoredNetworkList;
-class RMobileSmartCardEap;
-
-class RMobilePhone : public RPhone
-/**
-Provides client access to mobile phone functionality provided by TSY.
-
-Encapsulates access to a mobile phone. The functionality of RMobilePhone 
-is divided into a number of functional units, for the purpose of easier documentation 
-and navigation and selectable support by TSY.
-
-Note: Some RMobilePhone function members must be supported by the TSY while 
-others are part of optional "functional unit" and only need to be supported 
-if the TSY supports that functional unit. When a functional unit is mandatory 
-then the unit should at least support the Get...Caps() member function to 
-indicate the member functions that are supported for this unit.
- 
-*/
-	{
-public:
-	friend class CAsyncRetrievePhoneList;
-	IMPORT_C RMobilePhone();
-
-	// Global multimode types
-
-	
-	class TMultimodeType
-	/**
-	Base class for all the V1 parameter types defined within the API.
-	
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TInt ExtensionId() const;
-	protected:
-		TMultimodeType();
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	protected:
-		TInt iExtensionId;
-		};
-		
-	/** A typedef'd packaged TMultimodeType for passing through a generic API 
-	function member. */
-	typedef TPckg<TMultimodeType> TMultimodeTypePckg;
-
-	// Types used in RMobilePhone::TMobileAddress
-
-/** Address types.
-
-Modes: Common */
-	enum TMobileTON
-		{
-	/** User or the network has no knowledge of the type of number.
-	
-	Modes: Common */
-		EUnknownNumber,			// 0
-	/** International number.
-	
-	Modes: Common */
-		EInternationalNumber,	// 1
-	/** National number.
-	
-	Modes: Common */
-		ENationalNumber,		// 2
-	/** Administration/service number specific to the serving network, e.g. used to 
-	access an operator.
-	
-	Modes: Common */
-		ENetworkSpecificNumber, // 3
-	/** Subscriber number.
-	
-	Modes: Common */
-		ESubscriberNumber,		// 4 - Also defined as "dedicated, short code" in GSM 04.08
-	/** Alphanumeric number coded according to 3GPP TS 123 038 GSM 7-bit default alphabet.
-	
-	Modes: GSM/WCDMA */
-		EAlphanumericNumber,	// 5
-	/** Abbreviated number.
-	
-	Modes: Common */
-		EAbbreviatedNumber		// 6
-		};
-
-/** Number Plan Indicator.
-
-Modes: Common */
-	enum TMobileNPI
-		{
-	/** User or the network has no knowledge of the numbering plan.
-	
-	Modes: Common */
-		EUnknownNumberingPlan =0,
-	/** ISDN/telephony numbering plan.
-	
-	Modes: Common */
-		EIsdnNumberPlan=1,		
-	/** Data numbering plan.
-
-	Modes: Common */
-		EDataNumberPlan=3,		
-	/** Telex numbering plan.
-
-	Modes: Common */
-		ETelexNumberPlan=4,	
-	/** Service centre specific plan used to indicate a numbering plan specific to external 
-	Short Message entities attached to the SMSC. */
-		EServiceCentreSpecificPlan1=5,
-	/** Service centre specific plan used to indicate a numbering plan specific to external 
-	Short Message entities attached to the SMSC.
-	
-	Modes: GSM/WCDMA */
-		EServiceCentreSpecificPlan2=6,
-	/** National numbering plan.
-	
-	Modes: GSM/WCDMA */
-		ENationalNumberPlan=8,
-	/** Private numbering plan.
-	
-	Modes: Common */
-		EPrivateNumberPlan=9,
-	/** ERMES numbering plan.
-	
-	Modes: GSM/WCDMA */
-		EERMESNumberPlan=10
-		};
-
-	enum 
-		{
-		KMaxMobilePasswordSize=10,
-		KMaxMobileNameSize=32,
-		KMaxMobileTelNumberSize=100
-		};
-
-	struct TMMTableSettings
-		{
-		TUint32 iLocId;
-		};
-
-	typedef TPckg<TMMTableSettings> TMMTableSettingsPckg;
-
-	
-
-	class TMobileAddress
-	/**
-	Defines API abstraction of a mobile telephone number.
-	
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileAddress();
-			
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-			
-	public:
-		/** Type of number.
-		
-		@see TMobileTON */
-		TMobileTON iTypeOfNumber;
-		/** Number plan.
-		
-		@see TMobileNPI */
-		TMobileNPI iNumberPlan;
-		/** Telephone number. */
-		TBuf<KMaxMobileTelNumberSize> iTelNumber;
-		};
-
-	// Mobile information location type
-
-	/** Defines Location of service information.
-
-	Modes: Common */
-	enum TMobileInfoLocation
-		{
-		/** Retrieve the service information ONLY from the cache on the phone. Return KErrNotFound 
-		if the cache does not exist or it is empty. */
-		EInfoLocationCache,
-		/** Retrieve the service information from the cache, but if this is empty or does 
-		not exist then interrogate the network. */
-		EInfoLocationCachePreferred,
-		/** Retrieve the service information from the network (and refresh the cache if 
-		there is one). */
-		EInfoLocationNetwork
-		};
-
-	// Mobile call service type
-
-	/** Applicability of request to a mobile service group.
-
-	Modes: Common */
-	enum TMobileService
-		{
-		/** The call service has not been specified.
-		
-		Modes: Common */
-		EServiceUnspecified,
-		/** The API request applies to voice call services.
-
-		Modes: Common */
-		EVoiceService,
-		/** The API request applies to auxiliary voice call services.
-
-		Modes: GSM/WCDMA */
-		EAuxVoiceService,
-		/** The API request applies to circuit switched data call services.
-		
-		Modes: Common */
-		ECircuitDataService,
-		/** The API request applies to packet data services.
-	
-		Modes: Common */
-		EPacketDataService,
-		/** The API request applies to fax call services.
-	
-		Modes: Common */
-		EFaxService,
-		/** The API request applies to short message services.
-	
-		Modes: Common */
-		EShortMessageService,
-		/** The API request applies to all mobile services.
-	
-		Modes: Common */
-		EAllServices,
-		/** All teleservices
-	
-		Modes: Common */
-		EAllTele,
-		/** Telephony
-	
-		Modes: Common */
-		ETelephony,
-		/** All data teleservices
-	
-		Modes: Common */
-		EAllDataTele,
-		/** Voice Broadcast Service (VBS) Bearer Service
-	
-		Modes: Common */
-		EAllDataExSms,
-		/** All teleservices except SMS
-	
-		Modes: Common */
-		EAllTeleExcSms,
-		/** All PLMN specific teleservices
-	
-		Modes: Common */
-		EAllPlmnTele,
-		/** PLMN specific teleservice 1
-	
-		Modes: Common */
-		EPlmnTele1,
-		/** PLMN specific teleservice 2
-	
-		Modes: Common */
-		EPlmnTele2,
-		/** PLMN specific teleservice 3
-	
-		Modes: Common */
-		EPlmnTele3,
-		/** PLMN specific teleservice 4
-	
-		Modes: Common */
-		EPlmnTele4,
-		/** PLMN specific teleservice 5
-
-		Modes: Common */
-		EPlmnTele5,
-		/** PLMN specific teleservice 6
-
-		Modes: Common */
-		EPlmnTele6,
-		/** PLMN specific teleservice 7
-	
-		Modes: Common */
-		EPlmnTele7,
-		/** PLMN specific teleservice 8
-	
-		Modes: Common */
-		EPlmnTele8,
-		/** PLMN specific teleservice 9
-	
-		Modes: Common */
-		EPlmnTele9,
-		/** PLMN specific teleservice 10
-	
-		Modes: Common */
-		EPlmnTeleA,
-		/** PLMN specific teleservice 11
-	
-		Modes: Common */
-		EPlmnTeleB,
-		/** PLMN specific teleservice 12
-	
-		Modes: Common */
-		EPlmnTeleC,
-		/** PLMN specific teleservice 13
-	
-		Modes: Common */
-		EPlmnTeleD,
-		/** PLMN specific teleservice 14
-	
-		Modes: Common */
-		EPlmnTeleE,
-		/** PLMN specific teleservice 15
-	
-		Modes: Common */
-		EPlmnTeleF,
-		/** All bearer services
-		
-		Modes: Common */
-		EAllBearer,
-		/** All async services
-	
-		Modes: Common */
-		EAllAsync,
-		/** All sync services
-	
-		Modes: Common */
-		EAllSync,
-		/** All data circuit sync
-	
-		Modes: Common */
-		ESyncData,
-		/** All data circuit async
-	
-		Modes: Common */
-		EAsyncData,
-		/** All packet data services
-	
-		Modes: Common */
-		EPacketData,
-		/** All pad access services
-
-		Modes: Common */
-		EPadAccess,
-		/** All PLMN specific bearer services
-
-		Modes: Common */
-		EAllPlmnBearer,
-		/** PLMN specific bearer service 1
-	
-		Modes: Common */
-		EPlmnBearerServ1,
-		/** PLMN specific bearer service 2
-	
-		Modes: Common */
-		EPlmnBearerServ2,
-		/** PLMN specific bearer service 3
-	
-		Modes: Common */
-		EPlmnBearerServ3,
-		/** PLMN specific bearer service 4
-	
-		Modes: Common */
-		EPlmnBearerServ4,
-		/** PLMN specific bearer service 5
-	
-		Modes: Common */
-		EPlmnBearerServ5,
-		/** PLMN specific bearer service 6
-	
-		Modes: Common */
-		EPlmnBearerServ6,
-		/** PLMN specific bearer service 7
-	
-		Modes: Common */
-		EPlmnBearerServ7,
-		/** PLMN specific bearer service 8
-	
-		Modes: Common */
-		EPlmnBearerServ8,
-		/** PLMN specific bearer service 9
-	
-		Modes: Common */
-		EPlmnBearerServ9,
-		/** PLMN specific bearer service 10
-	
-		Modes: Common */
-		EPlmnBearerServA,
-		/** PLMN specific bearer service 11
-	
-		Modes: Common */
-		EPlmnBearerServB,
-		/** PLMN specific bearer service 12
-	
-		Modes: Common */
-		EPlmnBearerServC,
-		/** PLMN specific bearer service 13
-	
-		Modes: Common */
-		EPlmnBearerServD,
-		/** PLMN specific bearer service 14
-	
-		Modes: Common */
-		EPlmnBearerServE,
-		/** PLMN specific bearer service 15
-	
-		Modes: Common */
-		EPlmnBearerServF,
-		/** Alternative tele services
-
-		Modes: Common */
-		EAltTele,
-		EVoiceGroupCall,
-		EVoiceBroadcast,
-		EAllGprsBearer
-		};
-
-	// Mobile name type
-
-	/** A typedef to hold the names of API sub-sessions. The names are coded as ASCII 
-	characters. */
-	typedef TBuf<KMaxMobileNameSize> TMobileName;
-
-	// Mobile password type
-
-	/** A typedef for the standard password used by mobile phones for secure access 
-	to services (phone lock, SIM lock, call barring password). The password is 
-	coded as Unicode characters. */
-	typedef TBuf<KMaxMobilePasswordSize> TMobilePassword;
-
-	// for use by client-side API code and TSY only
-
-	struct TClientId
-	/** This type is used within the 2-phase list retrieval classes. During both phases, 
-	the client-side API code will pass down the TClientId so that TSY can use
-	this information to match the first phase of the request to the second phase. */
-		{
-		/** The handle to the underlying RTelServer session. */
-		TInt iSessionHandle;
-		/** The handle to the sub-session to which this API request relates. */
-		TInt iSubSessionHandle;
-		};
-
-	/** Phone air interface capabilities. */
-	enum TMobilePhoneModeCaps
-		{
-		/** Phone can operate in GSM mode on 900/1800/1900 MHz bands. */
-		KCapsGsmSupported=0x00000001,
-		/** Phone can operate in GPRS mode on 900/1800/1900 MHz bands. */
-		KCapsGprsSupported=0x00000002,
-		/** Phone can operate in AMPS mode on 800MHz band. */
-		KCapsAmpsSupported=0x00000004,
-		/** Phone can operate in CDMA (IS-95) mode on 800/1900 MHz bands. */
-		KCapsCdma95Supported=0x00000008,
-		/** Phone can operate in CDMA (cdma2000) mode on 800/1900 MHz bands. */
-		KCapsCdma2000Supported=0x00000010,
-		/** Phone can operate in W-CDMA (UTRA Frequency Division Duplex (FDD)) mode. */
-		KCapsWcdmaSupported=0x00000020,
-		/** Phone can operate in TDMA/CDMA (UTRA Time Division Duplex (TDD)) mode. */
-		KCapsTdcdmaSupported=0x00000040,
-		/** 
-		Phone can access Smart Card functionality required for an EAP. 
-		@deprecated 9.3
-		*/
-		KCapsEapSupported=0x00000080
-		};
-
-	/** Version number of the multimode ETel API. */
-	 enum TMultimodeEtelAPIVersion
-		{
-		/** Multimode Etel API version 1. */
-		 TMultimodeETelApiV1
-		};
-
-	 //
-	 //  API/TSY internal type
-	 //
-	
-	 struct TPhoneStoreNameAndIccType
-	/** Structure that holds the phone store name and ICC type.
-
-	Mode: Common */
-		{
-		/** This parameter is used to set the name of the storage. */
-		TName iStoreName;
-		/** This parameter is used to set the type of the ICC card. */
-		TName iMode;
-		};
-
-	IMPORT_C TInt GetMultimodeAPIVersion(TInt& aVersion) const;
-
-	IMPORT_C TInt GetMultimodeCaps(TUint32& aCaps) const;
-
-	IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aReqStatus, TDes8& aInfo, const TDesC& aStoreName) const;
-
-	IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aStatus, TDes8& aInfo, const TDesC& aStoreName, const TDesC& aMode) const;
-
-	// explicit phone initialisation
-	IMPORT_C void InitialiseMM(TRequestStatus& aReqStatus, TDes8& aTableSettings) const; 
-
-	/***********************************************************************************/
-	//
-	// MobilePhoneIccAccess functional unit
-	//
-	/***********************************************************************************/
-	
-/** ICC access capabilities.
-
-Modes: GSM */
-	enum TMobilePhoneIccCaps
-		{
-	/** Phone has a SIM and it currently supports SIM access by clients.
-	
-	Modes: GSM */
-		KCapsSimAccessSupported=0x00000001,
-	/** Phone has a R-UIM and it currently supports R-UIM access by clients.
-	
-	Modes: CDMA */
-		KCapsRUimAccessSupported=0x00000002,
-	/** Phone has a USIM and it currently supports USIM access by clients.
-	
-	Modes: WCDMA */
-		KCapsUSimAccessSupported=0x00000004
-		};
-		
-
-	enum 
-	{
-	/**
-	Maximum size of an ICC identity. 
-	
-	NOTE: TS102.221 defines the maximum size of the ICC Identity as held in EF_ICCID as 10 bytes, however
-	TS 51.011 mentions that network operators may issue a SIM with an identification number of 20 bytes.  
-	Therefore to cover this possibility the higher figure of 20 bytes has been chosen as the maximum size of the ICC identity.
-	*/
-	KMaxSizeIccIdentity	= 20
-	};
-	
-	/** A typedef to hold the ICC identity.*/
-	typedef TBuf8<KMaxSizeIccIdentity> TIccIdentity; 
-
-	IMPORT_C TInt GetIccAccessCaps(TUint32& aCaps) const;
-	IMPORT_C void NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
-	IMPORT_C void GetIccIdentity(TRequestStatus& aReqStatus, TIccIdentity& aIdentity) const;
-
-/** The Call Transfer/Call Forward options that are supported by the CSP.
-
-Modes: WCDMA/GSM */
-	enum TCspCallOffering
-		{
-	/** Indicates that "Call Transfer" is supported by the CSP. */
-		KCspCT=0x08,
-	/** Indicates that "Call Forwarding on Not Reachable" is supported by the CSP. */
-		KCspCFNRc=0x10,
-	/** Indicates that "Call Forwarding on No Reply" is supported by the CSP. */
-		KCspCFNRy=0x20,
-	/** Indicates that "Call Forwarding on Busy" is supported by the CSP. */
-		KCspCFB=0x40,
-	/** Indicates that "Call Forwarding Unconditional" is supported by the CSP. */
-		KCspCFU=0x80
-		};
-
-/** The call restrictions supported by the CSP.
-
-Modes: GSM/WCDMA */
-	enum TCspCallRestriction
-		{
-	/** Indicates that "Barring of Incoming Calls when roaming outside the home PLMN 
-	country" is supported by CSP. */
-		KCspBICRoam=0x08,
-	/** Indicates that "Barring of All Incoming Calls" is supported by CSP. */
-		KCspBAIC=0x10,
-	/** Indicates that "Barring of Outgoing International Calls except those directed 
-	to the home PLMN country" is supported by CSP. */
-		KCspBOICexHC=0x20,
-	/** Indicates that "Barring of Outgoing International Calls" is supported by CSP. */
-		KCspBOIC=0x40,
-	/** Indicates that "Barring of All Outgoing Calls" is supported by CSP. */
-		KCspBOAC=0x80
-		};
-
-/** Other services supported by the CSP.
-
-Modes: GSM/WCDMA */
-	enum TCspOtherSuppServices
-		{
-	/** Indicates that the Outgoing Access option of the Closed User Group service is 
-	supported by the CSP. */
-		KCspCUGOA=0x08,
-	/** Indicates that the Preferential CUG option of the Closed User Group service 
-	is supported by the CSP. */
-		KCspPrefCUG=0x10,
-	/** Indicates that the Advice of Charge service is supported by the CSP. */
-		KCspAoC=0x20,
-	/** Indicates that the Closed User Group service is supported by the CSP. */
-		KCspCUG=0x40,
-	/** Indicates that the Multiparty call service is supported by the CSP */
-		KCspMPTY=0x80,
-		};
-
-/** Call completion modes supported by this CSP.
-
-Modes: GSM/WCDMA */
-	enum TCspCallCompletion
-		{
-	/** Indicates that the Call Completion to Busy Subscriber service is supported by 
-	the CSP. */
-		KCspCCBS=0x20,
-	/** Indicates that the Call Waiting service is supported by the CSP. */
-		KCspCW=0x40,
-	/** Indicates that the Call Hold service is supported by the CSP. */
-		KCspHOLD=0x80,
-		};
-
-/** SMS Teleservices supported by the CSP.
-
-Modes: GSM/WCDMA */
-	enum TCspTeleservices
-		{
-	/** Indicates that display of Validity Period menu options for SMS is supported 
-	by the CSP. */
-		KCspValidityPeriod=0x02,
-	/** Indicates that display of Protocol ID menu options for SMS is supported by the 
-	CSP. */
-		KCspProtocolID=0x04,
-	/** Indicates that SMS Delivery Confirmation is supported by the CSP. */
-		KCspDelConf=0x08,
-	/** Indicates that display of Reply Path menu options for outgoing SMS is supported 
-	by the CSP. */
-		KCspReplyPath=0x10,
-	/** Indicates that the Cell Broadcast service is supported by the CSP. */
-		KCspSMCB=0x20,
-	/** Indicates mobile originated Short Messages are supported by CSP. */
-		KCspSMMO=0x40,
-	/** Indicates mobile terminated Short Messages are supported by CSP. */
-		KCspSMMT=0x80,
-		};
-
-/** Alternate Line Services */
-	enum TCspCPHSTeleservices
-		{
-	/** Indicates that Alternate Line Service is supported by the CSP. */
-		KCspALS=0x80
-		};
-
-/** Currently not used. */
-	enum TCspCPHSFeatures
-		{
-	/** This bit value is reserved for SST in Phase 1 CPHS. */
-		KCspReservedSST=0x80
-		};
-
-/** Number Identification option supported by the CSP.
-
-Modes: GSM/WCDMA */
-	enum TCspNumberIdentification
-		{
-	/** Indicates that Calling Line Identity Presentation blocking per call (CLI sent 
-	by default) is supported by the CSP. */
-		KCspCLIBlock=0x01,
-	/** Indicates that Calling Line Identity Presentation per call (CLI blocked by default) 
-	is supported by the CSP. */
-		KCspCLISend=0x02,
-	/** Indicates that Connected Line Identification Presentation is supported by the 
-	CSP. */
-		KCspCOLP=0x10,
-	/** Indicates that Connected Line Identification Restriction is supported by the 
-	CSP. */
-		KCspCOLR=0x20,
-	/** Indicates that Calling Line Identification Presentation is supported by the CSP. */
-		KCspCLIP=0x80,
-		};
-
-/** Phase 2+ services supported by the CSP.
-
-Modes: GSM/WCDMA */
-	enum TCspPhase2PlusServices
-		{
-	/** Indicates that Multiple Band roaming is supported by CSP. */
-		KCspMultipleband=0x04,
-	/** Indicates that Multiple Subscriber Profile is supported by CSP.
-	
-	v1.0 of Multimode ETel API does not support this feature */
-		KCspMSP=0x08,
-	/** Indicates that Voice Broadcast is supported by CSP.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KCspVoiceBroadcast=0x10,
-	/** Indicates that Voice Group Call is supported by CSP. 
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KCspVoiceGroupCall=0x20,
-	/** Indicates that High Speed Circuit Switched Data is supported by CSP. */
-		KCspHscsd=0x40,
-	/** Indicates that General Packet Radio Service is supported by CSP. */
-		KCspGprs=0x80
-		};
-
-/** Value added services supported by this CSP.
-
-Modes: GSM/WCDMA */
-	enum TCspValueAdded
-		{
-	/** Indicates that display of language selection menus is supported by the CSP.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KCspLanguage=0x01,
-	/** Indicates that display of data call option menu is supported by the CSP. */
-		KCspData=0x04,
-	/** Indicates that display of fax call option menu is supported by the CSP. */
-		KCspFax=0x08,
-	/** Indicates that display of the menu option to send a Short Message of type Email 
-	is supported by the CSP. */
-		KCspSMMOEmail=0x10,
-	/** Indicates that display of the menu option to send a Short Message of type Paging 
-	is supported by the CSP. */
-		KCspSMMOPaging=0x20,
-	/** Indicates that display of the menu option for manual PLMN selection is supported 
-	by the CSP. */
-		KCspPLMNMode=0x80,
-		};
-
-	
-
-	class TMobilePhoneCspFileV1 : public TMultimodeType
-	/** Defines contents of the CSP (Customer Service Profile) on the SIM. The profile 
-	consists of the sum of the respective enums.
-
-	@see GetCustomerServiceProfile()
-	@publishedPartner
-	@released*/
-		{
-	public:
-	/** Constructor. */
-		IMPORT_C TMobilePhoneCspFileV1();
-
-	/** Sum of the TCspCallOffering. */
-		TUint8	iCallOfferingServices;
-	/** Sum of the TCspCallRestriction. */
-		TUint8	iCallRestrictionServices;
-	/** Sum of the TCspOtherSuppServices. */
-		TUint8	iOtherSuppServices;
-	/** Sum of the TCspCallCompletion. */
-		TUint8	iCallCompletionServices;
-	/** Sum of the TCspTeleservices. */
-		TUint8  iTeleservices;
-	/** Sum of the TCspCPHSTeleservices. */
-		TUint8	iCphsTeleservices;
-	/** Sum of the TCspCPHSFeatures. */
-		TUint8	iCphsFeatures;
-	/** Sum of the TCspNumberIdentification. */
-		TUint8	iNumberIdentServices;
-	/** Sum of the TCspPhase2PlusServices. */
-		TUint8	iPhase2PlusServices;
-	/** Sum of the TCspValueAdded. */
-		TUint8	iValueAddedServices;
-		};
-
-/** A typedef'd packaged TMobilePhoneCspFileV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobilePhoneCspFileV1> TMobilePhoneCspFileV1Pckg;
-
-	IMPORT_C void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aCsp) const;
-
-/** SIM/USIM/CDMA Service Table.
-
-Modes: Common */
-	enum TSSTServices1To8
-		{
-	/** Indicates that disabling PIN1 is supported by the ICC. */
-		KSstPin1Disable=0x01,
-	/** Indicates that storage of Abbreviated Dialling Numbers within this ICC is supported. */
-		KSstADN=0x02,
-	/** Indicates that the Fixed Dialling Numbers service and the storage of FDN numbers
-	within this ICC is supported. */
-		KSstFDN=0x04,
-	/** Indicates that the Short Message Service and the storage of short messages within 
-	this ICC is supported.
-	
-	Modes: Common */
-		KSstSMS=0x08,
-	/** Indicates that the Advice of Charge service is supported by this ICC.
-	
-	Modes: GSM/WCDMA */
-		KSstAoC=0x10,
-	/** Indicates that the storage of Configuration Capability Parameters associated 
-	with an AND, FDN, MSISDN, LND or SDN is supported by this ICC.
-	
-	Modes: GSM/WCDMA */
-		KSstCCP=0x20,
-	/** Indicates that storage of a preferred network list is supported by this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature
-	
-	Modes: GSM/WCDMA */
-		KSstPLMNSelector=0x40
-		};
-
-/** SIM/USIM/CDMA Service Table (continued).
-
-Modes: GSM/WCDMA */
-	enum TSSTServices9To16
-		{
-	/** Indicates that storage of MSISDN (own numbers) numbers within this ICC is supported.
-	
-	Modes: GSM/WCDMA */
-		KSstMSISDN=0x01,
-	/** Indicates that storage of extended (greater than 20 digits) ADN, LND and MSISDN
-	numbers within this ICC is supported.
-	
-	Modes: Common */
-		KSstExt1=0x02,
-	/** Indicates that storage of extended (greater than 20 digits) FDN numbers within 
-	this ICC is supported.
-	
-	Modes: Common */
-		KSstExt2=0x04,
-	/** Indicates that storage of SMS parameter records within this ICC is supported.
-	
-	Modes: Common */
-		KSstSMSP=0x08,
-	/** Indicates that storage of Last Numbers Dialled within this ICC is supported.
-	
-	Modes: Common */
-		KSstLND=0x10,
-	/** Indicates that the storage of Cell Broadcast message identifiers is supported 
-	within this ICC.
-	
-	Modes: GSM/WCDMA */
-		KSstCBMI=0x20,
-	/** Indicates that access to the GID1 file is supported within this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature
-	
-	Modes: GSM/WCDMA */
-		KSstGID1=0x40,
-	/** Indicates that access to the GID2 file is supported within this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature
-	
-	Modes: GSM/WCDMA */
-		KSstGID2=0x80
-		};
-	
-/** SIM/USIM/CDMA Service Table (continued).
-
-v1.0 of Multimode ETel API does not support this feature
-
-Modes: Common */
-	enum TSSTServices17To24
-		{
-	/** Indicates that access to the Service Provider Name within ICC is supported.
-	
-	v1.0 of Multimode ETel API does not support this feature
-	
-	Modes: Common */
-		KSstSPName=0x01,
-	/** Indicates that storage of Service Dialling Numbers within ICC is supported.
-	
-	Modes: Common */
-		KSstSDN=0x02,
-	/** Indicates that storage of extended (greater than 20 digits) SDN numbers within 
-	this ICC/RUIM is supported.
-	
-	Modes: Common */
-		KSstExt3=0x04,
-	/** Indicates that access to the VGCS group identifier list within ICC is supported.
-	
-	v1.0 of Multimode ETel API does not support this feature
-	
-	Modes: GSM/WCDMA */
-		KSstVGCSList=0x10,
-	/** Indicates that access to the VBS group identifier list within ICC is supported.
-	
-	v1.0 of Multimode ETel API does not support this feature
-
-	Modes: GSM/WCDMA */
-		KSstVBSList=0x20,
-	/** Indicates that the enhanced Multi-Level Precedence and Pre-emption service is 
-	supported by ICC
-	
-	v1.0 of Multimode ETel API does not support this feature
-	
-	Modes: GSM/WCDMA */
-		KSsteMLPP=0x40,
-	/** Indicates that automatic answer for eMLPP is supported by ICC
-	
-	v1.0 of Multimode ETel API does not support this feature
-	
-	Modes: GSM/WCDMA */
-		KSstAnswereMLPP=0x80
-		};
-
-/** SIM/USIM/CDMA Service Table (continued).
-
-Modes: GSM/WCDMA */
-	enum TSSTServices25To32
-		{
-	/** Indicates that SAT SMS-CB data download is supported by ICC. */
-		KSstSmsCbDataDownload=0x01,
-	/** Indicates that SAT SMS-PP data download is supported by ICC. */
-		KSstSmsPpDataDownload=0x02,
-	/** Indicates that SAT menu selection is supported by ICC.
-	
-	SAT ETel API provides this feature. */
-		KSstMenuSelection=0x04,
-	/** Indicates that SAT call control is supported by ICC.
-	
-	SAT ETel API provides this feature. */
-		KSstCallControl=0x08,
-	/** Indicates that SAT pro-active SIM is supported by ICC.
-	
-	SAT ETel API provides this feature. */
-		KSstProactiveSim=0x10,
-	/** Indicates ICC storage of ranges of Cell Broadcast Message Identifiers is supported. */
-		KSstCBMIRanges=0x20,
-	/** Indicates ICC storage of Barred Dialling Numbers is supported. */
-		KSstBDN=0x40,
-	/** Indicates ICC storage of extended (greater than 20 digits) BDN numbers is supported. */
-		KSstExt4=0x80
-		};
-
-/** SIM/USIM/CDMA Service Table (continued).
-
-Modes: GSM/WCDMA */
-	enum TSSTServices33To40
-		{
-	/** Indicates depersonalisation control keys are supported by ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstDepersonalisationKeys=0x01,
-	/** Indicates co-operative network list are supported by this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstCooperativeNetworks=0x02,
-	/** Indicates Short Message Status Reports are supported by ICC. */
-		KSstSMStatusReports=0x04,
-	/** Indicates network's indication of alerting is supported by ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstNetworkIndAlerting=0x08,
-	/** Indicates outgoing SM control by SAT is supported by ICC.
-	
-	SAT ETel API provides this feature. */
-		KSstMoSmControlBySim=0x10,
-	/** Indicates that GPRS is supported by this ICC.
-	
-	GPRS ETel API provides GPRS functionality. */
-		KSstGprs=0x20,
-	/** Indicates that Image files are supported by this ICC.
-	
-	SAT ETel API provides this feature. */
-		KSstImage=0x40,
-	/** Indicates that SoLSA in supported by this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature */
-		KSstSoLSA=0x80
-		};
-
-/** SIM/USIM/CDMA Service Table (continued).
-
-Modes: GSM/WCDMA */
-	enum TSSTServices41To48
-		{
-	/** Indicates that USSD string data is supported in SAT Call Control by this ICC.
-	
-	SAT ETel API provides this feature. */
-		KSstUssdStringInCallControl=0x01,
-	/** Indicates that RUN AT COMMAND is supported in SAT by this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature */
-		KSstRunATCommand=0x02,
-	/** Indicates that PLMN selector list with access technology is supported by this 
-	ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstPlmnSelectorListWithAccessTechnology=0x04,
-	/** Indicates that OPLMN selector list with access technology is supported by this
-	ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstOplmnSelectorListWithAccessTechnology=0x08,
-	/** Indicates that HPLMN access technology is supported by this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstHplmnAccessTechnology=0x10,
-	/** Indicates that CPBCCH information is supported by this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstCpbcchInformation=0x20,
-	/** Indicates that Investigation Scan is supported by this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstInvestigationScan=0x40,
-	/** Indicates that extended capability configuration parameters are supported by 
-	this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstExtendedCcp=0x80
-		};
-
-/** SIM/USIM/CDMA Service Table (continued).
-
-Modes: GSM/WCDMA */
-	enum TSSTServices49To56
-		{
-	/** Indicates Mobile Execution Environment services are supported by this ICC */
-		KSstMExE=0x01,
-	/** Indicates that RPLMN last used access technology is supported by this ICC.
-	
-	v1.0 of Multimode ETel API does not support this feature. */
-		KSstRplmnLastUsedAccessTechnology=0x02
-		};
-
-/** USIM service table. */
-	enum TUSTServices1To8
-		{
-	/** Indicates that the local phonebook is supported by the USIM. Local phonebook 
-	means a phonebook that is specific to a USIM Application, as opposed to the 
-	global phonebook which is located at the DF Telecom level on the UICC and 
-	not attached to a USIM Application. */
-		KUstLocalPhBk=0x01,
-	/** Indicates that the Fixed Dialling Numbers (FDN) service and the storage of 
-	FDN numbers within this USIM is supported. */
-		KUstFDN=0x02,
-	/** Indicates that the Extension 2 is supported by the USIM. Extension 2 provides 
-	extension data for Fixed Dialling Numbers. */
-		KUstExt2=0x04,
-	/** Indicates that the Service Dialling Numbers are supported by the USIM. */
-		KUstSDN=0x08,
-	/** Indicates that the Extension 3 is supported by the USIM. Extension 3 provides 
-	extension data for Service Dialling Numbers. */
-		KUstExt3=0x10,
-	/** Indicates that the Barred Dialling Numbers are supported by the USIM. */
-		KUstBDN=0x20,
-	/** Indicates that the Extension 4 is supported by the USIM. Extension 4 provides 
-	extension data for Barred Dialling Numbers. */
-		KUstExt4=0x40,
-	/** Indicates that the outgoing call information (OCI and OCT) are supported by 
-	the USIM.
-	
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KUstOugoingCallInfo=0x80
-		};
-	
-/** USIM service table (continued). */
-	enum TUSTServices9To16
-		{
-	/** Indicates that the incoming call information (ICI and ICT) are supported by 
-	the USIM
-	
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KUstIncomingCallInfo=0x01,
-	/** Indicates that Short Message Storage is supported by the USIM. */
-		KUstSMS=0x02,
-	/** Indicates that Short Message Status Reports are supported by the USIM. */
-		KUstSMSR=0x04,
-	/** Indicates that Short Message Service Parameters are supported by the USIM. */
-		KUstSMSP=0x08,
-	/** Indicates that Advice Of Charge is supported by the USIM. */
-		KUstAoC=0x10,
-	/** Indicates that Capability Configuration Parameters are supported by the USIM. */
-		KUstCCP=0x20,
-	/** Indicates that Cell Broadcast Message Identifier is supported by the USIM. */
-		KUstCBMI=0x40,
-	/** Indicates that Cell Broadcast Message Identifier Ranges are supported by the 
-	USIM. */
-		KUstCBMIRanges=0x80
-		};
-
-/** USIM service table (continued). */
-	enum TUSTServices17To24
-		{
-	/** Indicates that Group Identifier Level 1 is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KUstGID1=0x01,
-	/** Indicates that Group Identifier Level 2 is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KUstGID2=0x02,
-	/** Indicates that Service Provider Name is supported by the USIM. */
-		KUstSPN=0x04,
-	/** Indicates that user controlled PLMN selector with Access Technology is supported
-	by the USIM.
-	
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KUstPLMNSelAccessTech=0x08,
-	/** Indicates that MSISDN is supported by the USIM. */
-		KUstMSISDN=0x10,
-	/** Indicates that Image is supported by the USIM.
-	
-	Note: (U)SAT ETel API provides this feature. This enum value is reserved for 
-	future API use. */
-		KUstIMG=0x20,
-		//0x40 is a reserved value
-	/** Indicates that enhanced Multi Level Precedence and Pre-emption Service is supported 
-	by the USIM.
-	
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KUsteMLPP=0x80
-		};
-
-/** USIM service table (continued). */
-	enum TUSTServices25To32
-		{
-	/** Indicates that Automatic Answer for eMLPP is supported by the USIM.
-	
-	Note: v1.0 and v2.0 of Multimode ETel API do not support this feature. */
-		KUstAnswereMLPP=0x01,
-		//0x02 is a reserved value
-	/** Indicates that GSM Access is supported by the USIM */
-		KUstGSMAccess=0x04,
-	/** Indicates that Data download via SMS-PP is supported by the USIM.
-	
-	Note: (U)SAT ETel API provides this feature. */
-		KUstSMSPpDataDownload=0x08,
-	/** Indicates that Data download via SMS-CB is supported by the USIM.
-	
-	Note: (U)SAT ETel API provides this feature. */
-		KUstSMSCbDataDownload=0x10,
-	/** Indicates that Call Control by USIM is supported by the USIM.
-	
-	Note: (U)SAT ETel API provides this feature. */
-		KUstCallControl=0x20,
-	/** Indicates that MO-SMS Control by USIM is supported by the USIM.
-	
-	Note: (U)SAT ETel API provides this feature. */
-		KUstMoSmControl=0x40,
-	/** Indicates that the proactive command RUN AT COMMAND is supported by the USIM.
-	
-	Note: (U)SAT ETel API provides this feature. */
-		KUstPCmdRunAtCommand=0x80		
-		};
-
-/** USIM service table (continued). */
-	enum TUSTServices33To40
-		{
-	/** Should always be present as specified by 3 GPP spec. */
-		KUstAlways=0x10,
-	/** Indicates that the Enabled Service Table is supported by the USIM. */
-		KUstEST=0x02,
-	/** Indicates that APN Control List is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KUstACL=0x04,
-	/** Indicates that the Depersonalisation Control Keys are supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KIstDepersonalisationKeys =0x08,
-	/** Indicates that the Co-operative Network List is supported by the USIM.
-
-	Note: v2.0 of Multimode ETel API does not support this feature. */
-		KUstCooperativeNetwork=0x10,
-	/** Indicates that GSM Security Context is supported by the USIM. */
-		KUstGSMSecurityContext=0x20,
-	/** Indicates that CPBCCH Information is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KUstCPBCCHInfo=0x40,
-	/** Indicates that Investigation Scan is supported by the USIM.
-	
-	Note:v2.0 of Multimode ETel API do not support this feature. */
-		KUstInvestigationScan=0x80
-		};
-
-/** USIM service table (continued). */
-	enum TUSTServices41To48
-		{
-	/** Indicates that MExE is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KUstMExE=0x01,
-	/** Indicates that Operator controlled PLMN selector with Access Technology is 
-	supported by the USIM.
-	
-	N.B .v2.0 of Multimode ETel API do not support this feature. */
-		KUstOperatorPLMNSelector=0x02,
-	/** Indicates that HPLMN selector with Access Technology is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KUstHPLMNSelAccessTech=0x04,
-	/** Indicates that Extension 5 is supported by the USIM. Provides support for extension 
-	data for MSISDN. */
-		KUstExt5=0x08,
-	/** Indicates that PLMN Network Name is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KUstPLMNNetworkName=0x10,
-	/** Indicates that Operator PLMN List is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KUstOperatorPLMNList=0x20,
-	/** Indicates that Mailbox Dialling Numbers are supported by the USIM. */
-		KUstMDN=0x40,
-	/** Indicates that Message Waiting Indication Status is supported by the USIM. */
-		KUstMWISo=0x80
-		};
-
-/** USIM service table (continued). */
-	enum TUSTServices49To56
-		{
-	/** Indicates that Call forwarding indication status is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KUstCFIS=0x01,
-	/** Indicates that RPLMN last-used access technology is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KUstRPLMN=0x02,
-	/** Indicates that Service provider display information is supported by the USIM.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KUstSPDI=0x04,
-	    KUstMMS=0x08,
-	    KUstExt8=0x10,
-	    KUstCConGPRS=0x20,
-	    KUstMMSUCP=0x40
-		};
-
-/** Enabled Services Table. */
-	enum TESTServices1To8
-		{
-	/** Indicates that FDN service is activated. */
-		KEstFDN=0x01,
-	/** Indicates that BDN service is activated. */
-		KEstBDN=0x02,
-	/** Indicates that the APN Control List service is activated.
-	
-	Note: v2.0 of Multimode ETel API do not support this feature. */
-		KEstACL=0x04
-		};
-
-/** Get Service Table.
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneServiceTable
-		{
-	/** Retrieve SIM service table on SIM (or from GSM application on UICC).
-	
-	Modes: GSM/WCDMA */
-		ESIMServiceTable,
-	/** Retrieve USIM service table from active USIM application on UICC.
-	
-	Modes: WCDMA */
-		EUSIMServiceTable,
-	/** Retrieve CDMA service table on R-UIM.
-	
-	Modes: CDMA */
-		ECDMAServiceTable,
-	/** USIM Enabled Services Table to be used in conjunction with the USIM Service 
-	Table.
-	
-	Modes: WCDMA */
-		EUSIMEnabledServiceTable
-		};
-
-	
-	class TMobilePhoneServiceTableV1 : public TMultimodeType
-	/** Defines contents of the specified Service Table on the ICC.
-
-	@see GetServiceTable()
-	@publishedPartner
-	@released
-	 */
-		{
-	public:
-		IMPORT_C TMobilePhoneServiceTableV1();
-
-	/** Sum of the TSSTServices1To8 capability constants. */
-		TUint8 iServices1To8;
-	/** Sum of the TSSTServices9To16 capability constants. */
-		TUint8 iServices9To16;
-	/** Sum of the TSSTServices17To24 capability constants. */
-		TUint8 iServices17To24;
-	/** Sum of the TSSTServices25To32 capability constants. */
-		TUint8 iServices25To32;
-	/** Sum of the TSSTServices33To40 capability constants. */
-		TUint8 iServices33To40;
-	/** Sum of the TSSTServices41To48 capability constants. */
-		TUint8 iServices41To48;
-	/** Sum of the TSSTServices49To56 capability constants. */
-		TUint8 iServices49To56;
-		};
-
-/** A typedef'd packaged TMobilePhoneServiceTableV1 passing through a generic API 
-function member. */
-	typedef TPckg<TMobilePhoneServiceTableV1> TMobilePhoneServiceTableV1Pckg;
-
-	enum { KAIDSize=16 };
-
-/** A typedef'd buffer to hold the application identifier (AID) that identifies 
-the USIM application in a UICC. The AID consists of a Registered application 
-provider IDentifier (RID) of 5 bytes and a Proprietary application Identifier 
-eXtension (PIX) of up to 11 bytes. */
-	typedef TBuf8<KAIDSize> TAID; 
-
-	class TMobilePhoneServiceTableV2 : public TMobilePhoneServiceTableV1
-/** Defines contents of the specified Service Table on the ICC for the v2.0 version 
-of the API. 
-*/
-		{
-	public:
-		IMPORT_C TMobilePhoneServiceTableV2();
-	public:
-	/** The application identifier. */
-		TAID   iAID;
-		};
-
-/** A typedef'd packaged TMobilePhoneServiceTableV2 passing through a generic API 
-function member. */
-	typedef TPckg<TMobilePhoneServiceTableV2> TMobilePhoneServiceTableV2Pckg;
- 
-	IMPORT_C void GetServiceTable(TRequestStatus& aReqStatus, TMobilePhoneServiceTable aTable, TDes8& aTableData) const;
-	
-	
-	/***********************************************************************************/
-	//
-	// MobilePhonePower functional unit
-	//
-	/***********************************************************************************/
-
-/** Phone supported battery information.
-
-Modes: Common */
-	enum TMobilePhoneBatteryCaps
-		{
-	/** Phone supports requests to get the current battery information. */
-		KCapsGetBatteryInfo=0x00000001,
-	/** Phone supports requests for notification of change in battery information. */
-		KCapsNotifyBatteryInfoChange=0x00000002
-		};
-
-	IMPORT_C TInt GetBatteryCaps(TUint32& aCaps) const; 
-
-/** The mobile phone battery status.
-
-Modes: Common */
-	enum TMobilePhoneBatteryStatus
-		{
-	/** The TSY can not determine the phone's current power status. */
-		EPowerStatusUnknown,
-	/** The phone is currently powered by a battery. */
-		EPoweredByBattery,
-	/** A battery is connected, but the phone is externally powered. */
-		EBatteryConnectedButExternallyPowered,
-	/** No battery is connected. */
-		ENoBatteryConnected,
-	/** Power fault. */
-		EPowerFault
-		};
-
-	class TMobilePhoneBatteryInfoV1 : public TMultimodeType
-/** Defines contents of the battery status of the phone.
-
-@see GetBatteryInfo()
-@see NotifyBatteryInfoChange()
-*/
-		{
-	public:
-		IMPORT_C TMobilePhoneBatteryInfoV1();
-	public:
-	/** The power and battery status.
-	
-	@see TMobilePhoneBatteryStatus */
-		TMobilePhoneBatteryStatus iStatus;
-	/** The percentage battery charge level. */
-		TUint iChargeLevel;
-		};
-
-	IMPORT_C void GetBatteryInfo(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const;
-	IMPORT_C void NotifyBatteryInfoChange(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const;
-
-	
-	/***********************************************************************************/
-	//
-	// MobilePhoneSignal functional unit
-	//	
-	/***********************************************************************************/
-
-/** The mobile phone signal strength capabilities.
-
-Modes: Common */
-	enum TMobilePhoneSignalCaps
-		{
-	/** Phone supports requests to get the current signal strength. */
-		KCapsGetSignalStrength=0x00000001,
-	/** Phone supports requests for notification of change in signal strength. */
-		KCapsNotifySignalStrengthChange=0x00000002
-		};
-
-	IMPORT_C TInt GetSignalCaps(TUint32& aCaps) const; 
-	IMPORT_C void GetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const;
-	IMPORT_C void NotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const;
-
-	/***********************************************************************************/
-	//
-	// MobilePhoneIndicator functional unit
-	//
-	/***********************************************************************************/
-	
-/** The mobile phone indicator capabilities supported.
-
-Modes: Common */
-	enum TMobilePhoneIndicatorCaps
-		{
-	/** Phone supports requests to get the current value of all supported indicators. */
-		KCapsGetIndicator=0x00000001,
-	/** Phone supports requests for notification of change in the supported indicators. */
-		KCapsNotifyIndicatorChange=0x00000002
-		};
-
-/** The mobile phone indicators.
-
-Modes Common */
-	enum TMobilePhoneIndicators
-		{
-	/** If bit-flag is set to '1' indicates that the battery charger is connected to 
-	the phone. If bit-flag is set to '0' indicates that the battery charger is 
-	disconnected. */
-		KIndChargerConnected=0x00000001,
-	/** If bit-flag is set to '1' indicates that network service is available. If bit-flag 
-	is set to '0' indicates that network service is unavailable. */
-		KIndNetworkAvailable=0x00000002,
-	/** If bit-flag is set to '1' indicates that a call is in progress. If set to '0' 
-	indicates that a call is not in progress. */
-		KIndCallInProgress=0x00000004
-		};
-
-	IMPORT_C TInt GetIndicatorCaps(TUint32& aActionCaps, TUint32& aIndCaps) const; 
-	IMPORT_C void GetIndicator(TRequestStatus& aReqStatus, TUint32& aIndicator) const;
-	IMPORT_C void NotifyIndicatorChange(TRequestStatus& aReqStatus, TUint32& aIndicator) const;
-
-	
-	/***********************************************************************************/
-	//
-	// MobilePhoneIdentity functional unit
-	//
-	/***********************************************************************************/
-	
-/** Defines Identity Capabilities.
-
-Modes: Common */
-	enum TMobilePhoneIdentityCaps
-		{
-	/** Phone can return the identity of its manufacturer. */
-		KCapsGetManufacturer=0x00000001,
-	/** Phone can return the identity of its model. */
-		KCapsGetModel=0x00000002,
-	/** Phone can return the identity of its revision. */
-		KCapsGetRevision=0x00000004,
-	/** Phone can return the identity of its serial number. */
-		KCapsGetSerialNumber=0x00000008,
-	/** Phone can return the identity of its subscriber. */
-		KCapsGetSubscriberId=0x00000010
-		};
-
-	IMPORT_C TInt GetIdentityCaps(TUint32& aCaps) const;
-
-	enum {	KPhoneManufacturerIdSize=50	};
-	enum {	KPhoneModelIdSize=50 };
-	enum {	KPhoneRevisionIdSize=50	};
-	enum {	KPhoneSerialNumberSize=50 };
-	
-	class TMobilePhoneIdentityV1 : public TMultimodeType
-/** Defines the mobile phone identity.
-
-@see GetPhoneId() */
-		{
-	public:
-		IMPORT_C TMobilePhoneIdentityV1();
-	public:
-	/** Phone manufacturer identification, in character string format. */
-		TBuf<KPhoneManufacturerIdSize> iManufacturer;
-	/** Phone model identification, in character string format. */
-		TBuf<KPhoneModelIdSize> iModel;
-	/** Phone revision identification, in character string format. */
-		TBuf<KPhoneRevisionIdSize> iRevision;
-	/** Phone serial number (IMEI or ESN), in character string format. */
-		TBuf<KPhoneSerialNumberSize> iSerialNumber;
-		};
-
-	IMPORT_C void GetPhoneId(TRequestStatus& aReqStatus, TMobilePhoneIdentityV1& aId) const;
-
-	enum {	KIMSISize = 15 };
-
-/** A typedef'd buffer to hold the mobile phone subscriber id. */
-	typedef TBuf<KIMSISize> TMobilePhoneSubscriberId;
-
-	IMPORT_C void GetSubscriberId(TRequestStatus& aReqStatus, TMobilePhoneSubscriberId& aId) const;
-
-	/***********************************************************************************/
-	//
-	// MobilePhoneDTMF functional unit
-	//
-	/***********************************************************************************/
-	
-/** DTMF Capabilities.
-
-Modes: Common */
-	enum TMobilePhoneDTMFCaps
-		{
-	/** Capability to send a string of DTMF tones, containing one or more tone(s). */
-		KCapsSendDTMFString=0x00000001,
-	/** Capability to send one DTMF tone, using start and stop DTMF tone function member. */
-		KCapsSendDTMFSingleTone=0x00000002,
-		};
-		
-	/**
-	DTMF tone operation event.
-	*/
-	enum TMobilePhoneDTMFEvent
-		{
-		/**
-		 Start sending of a Dtmf tone operation has been acknowledged from the MSC.
-		*/
-		EStartDtmfTone,
-		/**
-		 Stop sending of a Dtmf tone operation has been acknowledged from the MSC.
-		*/
-		EStopDtmfTone,
-		};
-		
-
-	IMPORT_C TInt GetDTMFCaps(TUint32& aCaps) const; 
-	IMPORT_C void NotifyDTMFCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
-
-	IMPORT_C void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const;
-	IMPORT_C void ReadDTMFTones(TRequestStatus& aReqStatus, TDes& aTones) const;
-	IMPORT_C TInt StartDTMFTone(TChar aTone) const;
-	IMPORT_C TInt StopDTMFTone() const;
-
-	IMPORT_C void NotifyStopInDTMFString(TRequestStatus& aRequestStatus) const;
-	IMPORT_C TInt ContinueDTMFStringSending(TBool aContinue) const;
-	IMPORT_C void NotifyDTMFEvent(TRequestStatus& aReqStatus, TMobilePhoneDTMFEvent& aEvent) const;
-
-	/***********************************************************************************/
-	//
-	// MobilePhoneNetwork functional unit
-	//
-	/***********************************************************************************/
-	
-/** Defines Network Capabilities.
-
-Modes: Common */
-	enum TMobilePhoneNetworkCaps
-		{
-	/** The phone supports retrieval of current registration status. */
-		KCapsGetRegistrationStatus=0x00000001,
-	/** The phone supports notifications of change in registration status. */
-		KCapsNotifyRegistrationStatus=0x00000002,
-	/** The phone supports retrieval of current mode. */
-		KCapsGetCurrentMode=0x00000004,
-	/** The phone supports notification of change in mode. */
-		KCapsNotifyMode=0x00000008,
-	/** The phone supports retrieval of current network information. */
-		KCapsGetCurrentNetwork=0x00000010,
-	/** The phone supports notification of change of current network. */
-		KCapsNotifyCurrentNetwork=0x00000020,
-	/** The phone supports retrieval of home network information. */
-		KCapsGetHomeNetwork=0x00000040,
-	/** The phone supports retrieval of a list of detected networks. */
-		KCapsGetDetectedNetworks=0x00000080,
-	/** The phone supports manual network selection mode. */
-		KCapsManualNetworkSelection=0x00000100,
-	/** The phone supports retrieval of time and date information (NITZ) received from 
-	the network. */
-		KCapsGetNITZInfo=0x00000200,
-	/** The phone supports notification of new updates of time & date information (NITZ) 
-	received from the network. */
-		KCapsNotifyNITZInfo=0x00000400
-		};
-
-	IMPORT_C TInt GetNetworkCaps(TUint32& aCaps) const;
-
-/** Defines Current Network Modes.
-
-Modes: Common */
-	enum TMobilePhoneNetworkMode
-		{
-	/** Network mode is unknown.
-	
-	Modes: Common */
-		ENetworkModeUnknown,
-	/** ME is not registered.
-	
-	Modes: Common */
-		ENetworkModeUnregistered,
-	/** GSM/GPRS or DCS1800 network. */
-		ENetworkModeGsm,
-	/** AMPS network.
-	
-	Modes: CDMA */
-		ENetworkModeAmps,
-	/** CDMA (IS-95) network.
-	
-	Modes: CDMA */
-		ENetworkModeCdma95,
-	/** CDMA (cdma2000) network.
-	
-	Modes: CDMA */
-		ENetworkModeCdma2000,
-	/** WCDMA  (UTRA Frequency Division Duplex (FDD)) network.
-	
-	Modes: WCDMA */
-		ENetworkModeWcdma,
-	/** TD-CDMA (UTRA Time Division Duplex (TDD)) network.
-	
-	Modes: WCDMA */	
-		ENetworkModeTdcdma
-		};
-
-	IMPORT_C TInt GetCurrentMode(TMobilePhoneNetworkMode& aNetworkMode) const;
-	IMPORT_C void NotifyModeChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkMode& aNetworkMode) const;
-	
-	void DoNotifyModeChange( TMobilePhoneNetworkMode aNetworkMode, TInt aErrorCode );
-    void CancelAsyncRequest(TInt aReqToCancel) const;
-	
-	mutable TMobilePhoneNetworkMode* iNetworkMode;
-	mutable TRequestStatus* iReqStatus;
-
-
-/** Phone network status.
-
-Modes: Common */
-	enum TMobilePhoneNetworkStatus
-		{
-	/** Status is unknown. */
-		ENetworkStatusUnknown,
-	/** A network that the ME is allowed to register to. */
-		ENetworkStatusAvailable,
-	/** The currently registered network. */
-		ENetworkStatusCurrent,
-	/** A network that the ME is not allowed to register to. */
-		ENetworkStatusForbidden
-		};
-
-/** Mobile phone network band information.
-
-Modes: CDMA */
-	enum TMobilePhoneNetworkBandInfo
-		{
-	/** The current band and band class is unknown. */
-		EBandUnknown,
-	/** The network operates at 800MHz on Band A. */
-		E800BandA,
-	/** The network operates at 800MHz on Band B. */
-		E800BandB,
-	/** The network operates at 800MHz on Band C. */
-		E800BandC,
-	/** The network operates at 1900MHz on Band A. */
-		E1900BandA,
-	/** The network operates at 1900MHz on Band B. */
-		E1900BandB,
-	/** The network operates at 1900MHz on Band C. */
-		E1900BandC,
-	/** The network operates at 1900MHz on Band D. */
-		E1900BandD,
-	/** The network operates at 1900MHz on Band E. */
-		E1900BandE,
-	/** The network operates at 1900MHz on Band F. */
-		E1900BandF
-		};
-
-/** A typedef'd buffer to hold the network display tag */
-	typedef TBuf<30> TMobilePhoneNetworkDisplayTag;
-/** A typedef'd buffer to hold the network long name. */
-	typedef TBuf<20> TMobilePhoneNetworkLongName;		
-/** A typedef'd buffer to hold the network short name. */
-	typedef TBuf<10> TMobilePhoneNetworkShortName;
-
-/** A typedef'd buffer to hold the network country code. */
-	typedef TBuf<4> TMobilePhoneNetworkCountryCode;		// MCC in GSM and CDMA
-/** A typedef'd buffer to hold the network identity. */
-	typedef TBuf<8> TMobilePhoneNetworkIdentity;		// MNC in GSM and SID or NID in CDMA 
-
-	
-
-	class TMobilePhoneNetworkInfoV1 : public TMultimodeType
-	/** Defines information related to a mobile phone network.
-
-	@see GetCurrentNetwork()
-	@see NotifyCurrentNetworkChange()
-	@see GetHomeNetwork()
-	@publishedPartner
-	@released */
-		{
-	public:
-		IMPORT_C TMobilePhoneNetworkInfoV1();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-	/** Mode of the network.
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkMode */
-		TMobilePhoneNetworkMode iMode;
-	/** Status of the network
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkStatus */
-		TMobilePhoneNetworkStatus iStatus;
-	/** The band and band class of the CDMA network operator.
-
-	Modes: CDMA
-	
-	@see TMobilePhoneNetworkBandInfo */
-		TMobilePhoneNetworkBandInfo iBandInfo;
-	/** The MCC of the network.
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkCountryCode */
-		TMobilePhoneNetworkCountryCode iCountryCode;
-	/** The system identity (SID) of the CDMA network.
-	
-	Modes: CDMA
-	
-	@see TMobilePhoneNetworkIdentity */
-		TMobilePhoneNetworkIdentity iCdmaSID;
-	/** The system identity (SID) of the AMPS network.
-	
-	Modes: CDMA
-	
-	@see TMobilePhoneNetworkIdentity */
-		TMobilePhoneNetworkIdentity iAnalogSID;
-	/** The network identity (NID in CDMA and MNC in GSM).
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkIdentity */
-		TMobilePhoneNetworkIdentity iNetworkId;
-	/** The alpha-tag displayed when this is the serving network.
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkDisplayTag */
-		TMobilePhoneNetworkDisplayTag iDisplayTag;
-	/** The short name (up to 10 characters) of the network operator.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobilePhoneNetworkShortName */
-		TMobilePhoneNetworkShortName iShortName;
-	/** The long name (up to 20 characters) of the network operator.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobilePhoneNetworkLongName */
-		TMobilePhoneNetworkLongName iLongName;
-		};
-	
-/** A typedef'd packaged TMobilePhoneNetworkInfoV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobilePhoneNetworkInfoV1>  TMobilePhoneNetworkInfoV1Pckg;
-	
-/** The access technology that the network is based on.
-
-Modes: Common */
-	enum TMobilePhoneNetworkAccess
-		{
-	/** This is used when there is no network activity and therefore no RAT active.
-	
-	Modes: Common */
-		ENetworkAccessUnknown,
-	/** The access technology is GSM.
-	
-	Modes: GSM */
-		ENetworkAccessGsm,
-	/** The access technology is GSM COMPACT. However GSM COMPACT systems which use 
-	GSM frequency bands but with the CBPCCH broadcast channel are considered as 
-	a separate access technology from GSM.
-	
-	Modes: GSM */
-		ENetworkAccessGsmCompact,
-	/** The access technology is UTRAN (UMTS Network).
-	
-	Modes: WCDMA */
-		ENetworkAccessUtran,					
-	/** Analogue Cellular 
-	
-	Modes: CDMA */
-		ENetworkAccessAmpsCellular,
-	/** CDMA Cellular - Standard channels 
-
-	Modes: CDMA */
-		 ENetworkAccessCdmaCellularStdChannel,
-	/** CDMA Cellular - Custom channels 
-
-	Modes: CDMA */
-		ENetworkAccessCdmaCellularCustomChannel,
-	/** CDMA/Analogue Cellular (cdma first then analogue)
-
-	Modes: CDMA */
-		ENetworkAccessCdmaAmpsCellular,
-	/** CDMA PCS - Using blocks 
-	
-	Modes: CDMA */
-		ENetworkAccessCdmaPcsUsingBlocks,
-	/** CDMA PCS - Using channels 
-	
-	Modes: CDMA */
-		ENetworkAccessCdmaPcsUsingNetworkAccessChannels,
-	/** CDMA JTACS - Standard channels 
-	
-	Modes: CDMA */
-		ENetworkAccessJTacsStdChannels,
-	/** CDMA JTACS - Custom channels 
-	
-	Modes: CDMA */
-		ENetworkAccessJTacsCustomChannels,
-	/** CDMA 2GHz band - Using channels 
-	
-	Modes: CDMA */
-		ENetworkAccess2GHzBandUsingChannels,
-	/** Generic Acquisition Record for IS-2000 and IS-95 
-	
-	Modes: CDMA */
-		ENetworkAccessGenericAcqRecord2000and95,
-	/** Generic Acquisition Record for IS-856
-	
-	Modes: CDMA */
-		ENetworkAccessGenericAcqRecord856
-		};
-
-	
-
-	class TMobilePhoneNetworkInfoV2 : public TMobilePhoneNetworkInfoV1
-	/** The access technology that the network is based on in version v2.0 of the API. 
-	@publishedPartner
-	@released*/
-		{
-	public:
-	/** Default constructor. Network access is set to ENetworkAccessUnknown and iExtensionId 
-	is set to KETelExtMultimodeV2. */
-		IMPORT_C TMobilePhoneNetworkInfoV2();
-	
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	
-	public:
-	/** The type of network access.
-	
-	@see TMobilePhoneNetworkAccess */
-		TMobilePhoneNetworkAccess iAccess;
-		};
-	
-/** A typedef'd packaged TMobilePhoneNetworkInfoV2 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobilePhoneNetworkInfoV2>  TMobilePhoneNetworkInfoV2Pckg;
-
-
-	class TMobilePhoneNetworkInfoV5 : public TMobilePhoneNetworkInfoV2
-	/** The access technology that the network is based on in version v2.0 of the API. 
-	@publishedPartner
-	@released*/
-		{
-	public:
-		IMPORT_C TMobilePhoneNetworkInfoV5();
-		
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-		
-	public:
-	/** HSDPA availability indicator. This information is for display 
-	indication only and shall not be used for any other purpose.
-		
-	Modes: WCDMA */
-		TBool iHsdpaAvailableIndicator;
-
-	/** EGPRS availability indicator. This information is for display
-	indication only and shall not be used for any other purpose.
-		
-	Modes: GPRS */
-		TBool iEgprsAvailableIndicator;
-		};
-
-/** A typedef'd packaged TMobilePhoneNetworkInfoV5 for passing through a generic 
-API function member. */		
-	typedef TPckg<TMobilePhoneNetworkInfoV5> TMobilePhoneNetworkInfoV5Pckg;
-	
-	class TMobilePhoneLocationAreaV1 : public TMultimodeType
-/** Defines the mobile phone location area.
-
-@see GetCurrentNetwork()
-@see NotifyCurrentNetworkChange() */
-		{
-	public:
-	/** Constructor. */
-		IMPORT_C TMobilePhoneLocationAreaV1();
-	public:
-	/** Boolean indicating whether the location area is known.
-	
-	Modes: Common */
-		TBool	iAreaKnown;
-	/** Location area code.
-	
-	Modes: GSM/WCDMA */
-		TUint	iLocationAreaCode;
-	/** Cell identity code.
-	
-	Modes: GSM/WCDMA */
-		TUint	iCellId;
-		};
-
-	IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const;
-	IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const;
-	IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
-	IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
-
-	IMPORT_C void GetHomeNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
-	IMPORT_C void GetHomeNetworkSearchPeriod(TRequestStatus& aReqStatus, TInt& aSearchIntv) const;
-	IMPORT_C void GetLastUsedAccessTechnology(TRequestStatus& aReqStatus, TMobilePhoneNetworkAccess& aAccessTech) const;
-
-/** The registration status of the mobile phone.
-
-Modes: WCDMA */
-	enum TMobilePhoneRegistrationStatus
-		{
-	/** Registration status is unknown. */
-		ERegistrationUnknown,
-	/** Not registered. The ME can not detect any other networks and is not currently 
-	searching a new operator to register to. */
-		ENotRegisteredNoService,
-	/** Not registered. The ME can detect other networks on which it is possible to 
-	make emergency calls only. */
-		ENotRegisteredEmergencyOnly,
-	/** Not registered, but the ME is currently searching a new operator to register to. */
-		ENotRegisteredSearching,
-	/** Registered, network busy.
-	
-	Modes: WCDMA */
-		ERegisteredBusy,
-	/** Registered on home network. */
-		ERegisteredOnHomeNetwork,
-	/** Registration denied. */
-		ERegistrationDenied,
-	/** Registered, roaming. */
-		ERegisteredRoaming
-		};
-
-	IMPORT_C void GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const;
-	IMPORT_C void NotifyNetworkRegistrationStatusChange(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const;
-
-/** The network selection function member.
-
-Modes: Common */
-	enum TMobilePhoneSelectionMethod
-		{
-	/** Network selection function member is unknown.
-	
-	Modes: Common */
-		ENetworkSelectionUnknown,
-	/** Network is selected automatically by phone.
-	
-	Modes: Common */
-		ENetworkSelectionAutomatic,
-	/** Network is selected manually by user.
-	
-	Modes: GSM/WCDMA */
-		ENetworkSelectionManual,
-	/** Network selection is restricted to home network only
-	
-	Modes: CDMA */
-		ENetworkSelectionHomeOnly
-		};
-
-/** The mobile phone band class preferences.
-
-Modes: CDMA */
-	enum TMobilePhoneBandClass
-		{
-	/** Band class selection is unknown. */
-		ENetworkBandClassUnknown,
-	/** Phone will select band class A only. */
-		ENetworkBandClassAOnly,
-	/** Phone will select band class B only. */
-		ENetworkBandClassBOnly,
-	/** Phone will prefer to select band class A. */
-		ENetworkBandClassAPreferred,
-	/** Phone will prefer to select band class B. */
-		ENetworkBandClassBPreferred
-		};
-
-/** The mobile phone network operation mode preferences.
-
-Modes: CDMA */
-	enum TMobilePhoneOperation
-		{
-	/** Network operation mode is unknown. */
-		ENetworkOperationUnknown,
-	/** Phone will select analog operation only. */
-		ENetworkOperationAnalogOnly,
-	/** Phone will select digital/CDMA operation only. */
-		ENetworkOperationDigitalOnly,
-	/** Phone will prefer to select analog operation. */
-		ENetworkOperationAnalogPreferred,
-	/** Phone will prefer to select digital/CDMA operation. */
-		ENetworkOperationDigitalPreferred
-		};
-
-	class TMobilePhoneNetworkSelectionV1 : public TMultimodeType
-/** The mobile phone network selection preferences.
-
-@see GetNetworkSelectionSetting()
-@see SetNetworkSelectionSetting()
-@see NotifyNetworkSelectionSettingChange()
-@publishedPartner
-@released */
-		{
-	public:
-		IMPORT_C TMobilePhoneNetworkSelectionV1();
-	public:
-	/** Phone's network selection function member.
-	
-	Modes: Common
-	
-	@see TMobilePhoneSelectionMethod */
-		TMobilePhoneSelectionMethod	iMethod;
-	/** Phone's band class setting.
-	
-	Modes: CDMA
-	
-	@see TMobilePhoneBandClass */
-		TMobilePhoneBandClass		iBandClass;
-	/** Phone's CDMA operation mode.
-	
-	Modes: CDMA
-	
-	@see TMobilePhoneOperation */
-		TMobilePhoneOperation		iOperationMode;
-		};
-
-/** A typedef'd packaged TMobilePhoneNetworkSelectionV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobilePhoneNetworkSelectionV1>  TMobilePhoneNetworkSelectionV1Pckg;
-
-	IMPORT_C TInt GetNetworkSelectionSetting(TDes8& aSetting) const;
-	IMPORT_C void SetNetworkSelectionSetting(TRequestStatus& aReqStatus, const TDes8& aSetting) const;
-	IMPORT_C void NotifyNetworkSelectionSettingChange(TRequestStatus& aReqStatus, TDes8& aSetting) const;
-	
-	struct TMobilePhoneNetworkManualSelection
-/** The mobile phone manual network selection parameters.
-
-Modes: GSM/WCDMA
-
-@see TMobilePhoneNetworkCountryCode */
-		{
-	/** The MCC of the network
-	
-	@see TMobilePhoneNetworkCountryCode */
-		TMobilePhoneNetworkCountryCode iCountry;
-	/** The MNC of the network
-	
-	@see TMobilePhoneNetworkIdentity */
-		TMobilePhoneNetworkIdentity iNetwork;
-		};
-	
-	IMPORT_C void SelectNetwork(TRequestStatus& aReqStatus, TBool aIsManual, const TMobilePhoneNetworkManualSelection& aManualSelection) const;
-
-	
-
-	 // Used to indicate which TMobilePhoneNITZ fields are currently available
-/** The Phone Network Time Zone Capabilities. */
-	 enum TMobilePhoneNITZCaps
-		{
-	/** Universal Time is available in the current network mode. */
-		KCapsTimeAvailable      = 0x00000001,
-	/** Local time zone is available in the current network mode. */
-		KCapsTimezoneAvailable  = 0x00000002,
-	/** DST is available in the current network mode. */
-		KCapsDSTAvailable       = 0x00000004,
-	/** Short name is available in the current network mode. */
-		KCapsShortNameAvailable = 0x00000008,
-	/** Long name is available in the current network mode. */
-		KCapsLongNameAvailable  = 0x00000010
-		};
-
-	class TMobilePhoneNITZ : public TDateTime
-/** Defines time and date information received from a mobile phone network.
-
-@see GetNITZInfo()
-@see NotifyNITZInfoChange()
-@publishedPartner
-@released */
-		{
-	public:
-		IMPORT_C TMobilePhoneNITZ();
-		IMPORT_C TMobilePhoneNITZ(TInt aYear, TMonth aMonth, TInt aDay, TInt aHour, TInt aMinute, TInt aSecond, TInt aMicroSecond);		
-	public:
-	/** Bitwise sum of TMobilePhoneNITZCaps constants used to indicate which NITZ fields 
-	are available.
-	
-	Modes: Common */
-		TInt32	                     iNitzFieldsUsed;
-	/** Time zone, expressed in +/- 15 minute offsets from GMT.
-	
-	Modes: Common */
-		TInt                         iTimeZone;
-	/** Daylight Saving Time adjustment for summer time. The adjustment for DST 
-	can be +1h or +2h.
-	
-	Modes: GSM/WCDMA */
-		TInt	                     iDST;
-	/** Network name in "short" representation.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobilePhoneNetworkShortName */
-		TMobilePhoneNetworkShortName iShortNetworkId;
-	/** Network name in "long" representation.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobilePhoneNetworkLongName */
-		TMobilePhoneNetworkLongName	 iLongNetworkId;
-		};
-
-	IMPORT_C TInt GetNITZInfo(TMobilePhoneNITZ& aNITZInfo) const;
-	IMPORT_C void NotifyNITZInfoChange(TRequestStatus& aReqStatus, TMobilePhoneNITZ& aNITZInfo) const;
-
-	enum { KMaxSPNameSize=16 };
-	enum { KMaxPLMNFieldSize=251 };
-
-	enum TDisplayRequirements
-		{
-		KDisplayPLMNNotRequired	= 0x00000001,
-		KDisplayPLMNRequired	= 0x00000002,
-		KDisplaySPNRequired		= 0x00000004,
-		KDisplaySPNNotRequired	= 0x00000008
-		};
-
-	typedef TUint32 TDisplayRequirementsFlags;
-
-	class TMobilePhoneServiceProviderNameV2 : public TMultimodeType
-/** Used to retrieve the Service Provider Name from the ICC. The 
-SP is actually the entity that provides the service. The SP could have contractual 
-agreements with several home PLMN that the ME can register to. The display 
-preference of the registered PLMN and/or the SPN on the ME can be defined 
-on the UICC.
-@publishedPartner
-@released */
-		{
-	public:
-		IMPORT_C TMobilePhoneServiceProviderNameV2();
-	public:
-	/** This parameter specifies if the display of the registered PLMN is required. 
-	Can contain a number of flags from RMobilePhone::TDisplayRequirements.
-	*/
-		TDisplayRequirementsFlags	iDisplayReq;
-	/** The name of the service provider. */
-		TBuf<KMaxSPNameSize>	iSPName;
-		TBuf<KMaxPLMNFieldSize>	iPLMNField;
-		}; 
-
-/** A typedef'd packaged TMobilePhoneServiceProviderNameV2 for passing through 
-a generic API function member. */
-	typedef TPckg<TMobilePhoneServiceProviderNameV2> TMobilePhoneServiceProviderNameV2Pckg;
-
-	IMPORT_C void GetServiceProviderName(TRequestStatus& aReqStatus, TDes8& aName) const;
-	
-	/**
-	Network investigation scan settings.
-	*/
-	enum TMobilePhoneInvestigationScan
-		{
-		/**
-		Network investigation setting in limited service mode.
-		*/
-		KNetworkInvLimited = 0x01,
-		/**
-		Network investigation setting after successful PLMN selection.
-		*/
-		KNetworkInvAfterPlmnSelection=0x02		
-		};
-		
-	/**
-	Network investigation scan events.
-	*/
-	enum TMobilePhoneInvestigationScanEvent
-		{
-		/**
-		No investigation scan events available.
-		*/
-		ENetworkInvestigationNoEvent,
-		/**
-		A higher priority network has been detected, but it does not offer CS Voice.
-		*/
-		ENetworkInvestigationHighPriorityPlmn
-		};
-	
-	IMPORT_C TInt GetNetworkInvScanSetting(TMobilePhoneInvestigationScan & aSetting) const;
-	IMPORT_C void NotifyNetworkInvScanChange(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScan& aSetting) const;
-	IMPORT_C void NotifyNetworkInvScanEvent(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScanEvent& aEvent) const;
-
-
-	/** 251 bytes is the maximum number of octets in an L3 message as defined in3GPP TS 44.006. */
-	enum { KMaxNetworkNameFieldSize = 251 };
-	
-	class TMobilePhoneNetworkNameV3 : public TMultimodeType
-	/**
-	Class containing short, long network names and location information for a PLMN.
-	*/
-		{
-	public:
-		IMPORT_C TMobilePhoneNetworkNameV3();
-	public:
-		/**
-		The long name (up to 20 characters) of the network operator.
-		*/
-		TMobilePhoneNetworkLongName	 iLongName;
-		/**
-		The short name (up to 10 characters) of the network operator.
-		*/
-		TMobilePhoneNetworkShortName	 iShortName;
-		/**
-		This buffer contains other long and short names for the registered PLMN coded as TLV objects.
-		*/
-		TBuf<KMaxNetworkNameFieldSize>	 iOtherNames;
-		};
-		
-	/**
- 	Packaging typedef for TMobilePhoneNetworkNameV3 class.
- 	*/	
-	typedef TPckg<TMobilePhoneNetworkNameV3>  TMobilePhoneNetworkNameV3Pckg;
-	
-	
-	class  TMobilePhoneOPlmnV3 : public TMultimodeType
-	/**
-	Class containing network name information.
-	*/
-		{
-	public:
-		IMPORT_C TMobilePhoneOPlmnV3();
-	public:
-		/**
-		The MCC of the registered PLMN, with "wild" values specified for the particular digits of the code.
-		*/
-		TMobilePhoneNetworkCountryCode iCountryCode;
-		/**
-		The MNC of the registered PLMN, with "wild" values specified for the particular digits of the code.
-		*/
-		TMobilePhoneNetworkIdentity iNetworkId;
-		/**
-		The id of the Network Name to be displayed for the (following) location area codes.
-		*/
-		TUint32 iPNNid;
-		/**
-		First Location area code for defining the entire range of LACs for the registered PLMN.
-		*/
-		TUint iFirstLocationAreaCode;
-		/**
-		Last Location area code defining the entire range of LACs for the registered PLMN.
-		*/
-		TUint iLastLocationAreaCode;
-		
-		};
-		
-	/**
- 	Packaging typedef for TMobilePhoneOPlmnV3 class.
- 	*/	
-	typedef TPckg<TMobilePhoneOPlmnV3>  TMobilePhoneOPlmnV3Pckg;
-	
-	IMPORT_C void GetCurrentNetworkName(TRequestStatus& aReqStatus, TDes8& aNetworkName, TDes8& aLocInfo) const;
-	
-	/**
-	Identifiers for different access technologies.
-	*/
-	enum TMobilePhoneNetworkAccessCaps
-		{
-		/**
-		No network activity.
-		*/
-		KNetworkAccessUnknown=0x0000,
-		/**
-		Access technology is GSM.
-		*/
-		KNetworkAccessGsm=0x8000,
-		/**
-		Access technology is GSM COMPACT.
-		*/
-		KNetworkAccessGsmCompact=0x4000,
-		/**
-		Access technology is UTRAN (UMTS only).
-		*/
-		KNetworkAccessUtran=0x0080
-		};
-
-	typedef TUint32 TMobilePhoneNetworkAccessCapsFlags;
-		
-	class TMobilePreferredNetworkEntryV3 : public TMultimodeType
-	/**
-	Defines information for a preferred network.
-	*/
-		{
-	public:
-		IMPORT_C TMobilePreferredNetworkEntryV3();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-		/**
-		Access Technology supported.
-		Can contain a number of flags from RMobilePhone::TMobilePhoneNetworkAccessCaps.
-		*/
-		TMobilePhoneNetworkAccessCapsFlags iAccess;
-		/**
-		Editable preferences in the User-controlled Networks List with Access Technology.
-		*/
-		TBool iUserDefined;
-		/**
-		The MCC of the network.
-		*/
-		TMobilePhoneNetworkCountryCode iCountryCode;
-		/**
-		The MNC of the network.
-		*/
-		TMobilePhoneNetworkIdentity iNetworkId;
-		};
-		
-	IMPORT_C void StorePreferredNetworksListL(TRequestStatus& aReqStatus, CMobilePhoneStoredNetworkList* aList) const;
-	IMPORT_C void NotifyPreferredNetworksListChange(TRequestStatus& aReqStatus) const;
-		
-	/***********************************************************************************/		
-	//
-	// Mobile Multimedia Call Settings functional unit
-	//
-	/***********************************************************************************/
-	
-/** An enumerated list of settings for multimedia calls. */
-	enum TMobilePhoneMultimediaSettings
-		{
-	/** Accept all incoming multimedia calls with the fallback option enabled. (default). */
-		EAcceptMMCallsVoiceFallback,
-	/** Accept all incoming multimedia calls, but do not accept voice fallback. */
-		EAcceptMMCallsNoFallback,
-	/** Reject all incoming multimedia calls. */
-		ERejectMMCalls,
-	/** Reject all incoming multimedia calls, but drop to voice instead. */
-		EAnswerMMCallsAsVoice
-		};
-
-	IMPORT_C void SetMultimediaCallPreference(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings aMmSettings) const;
-	IMPORT_C TInt GetMultimediaCallPreference(TMobilePhoneMultimediaSettings& aMmSettings) const;
-	IMPORT_C void NotifyMultimediaCallPreferenceChange(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings& aMmSettings);
-
-	/***********************************************************************************/	
-	//
-	// MobilePrivacy functional unit
-	//
-	/***********************************************************************************/
-	
-/** The mobile phone privacy settings.
-
-Modes: CDMA */
-	enum TMobilePhonePrivacy
-		{
-	/** The privacy setting is unspecified. */
-		EPrivacyUnspecified,
-	/** The privacy setting is set to ON. */
-		EPrivacyOn,
-	/** The privacy setting is set to OFF. */
-		EPrivacyOff
-		};
-
-	IMPORT_C TInt GetDefaultPrivacy(TMobilePhonePrivacy& aSetting) const;
-	IMPORT_C void SetDefaultPrivacy(TRequestStatus& aReqStatus, TMobilePhonePrivacy aSetting) const;
-	IMPORT_C void NotifyDefaultPrivacyChange(TRequestStatus& aReqStatus, TMobilePhonePrivacy& aSetting) const;
-
-	/***********************************************************************************/
-	//
-	// TSY Capabilities for supplementary call services
-	// 
-	/***********************************************************************************/
-	
-/** The call services.
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneCallServiceCaps
-		{
-	/** Phone supports retrieval of call forwarding status from a cache on the phone.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetCFStatusCache				=0x00000001,
-	/** Phone supports retrieval of call forwarding status from the network.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetCFStatusNetwork				=0x00000002,
-	/** Phone supports setting of call forwarding status (and registered information) 
-	in the network. */
-		KCapsSetCFStatus					=0x00000004,
-	/** Phone supports notification of change in status of any call forwarding service.
-	
-	Modes: GSM/WCDMA */
-		KCapsNotifyCFStatus					=0x00000008,
-	/** Phone supports retrieval of CLIP status from either a cache or the network.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetClipStatus					=0x00000010,
-	/** Phone supports retrieval of CLIR status from either a cache or the network.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetClirStatus					=0x00000020,
-	/** Phone supports retrieval of COLP status from either a cache or the network.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetColpStatus					=0x00000040,
-	/** Phone supports retrieval of COLR status from either a cache or the network.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetColrStatus					=0x00000080,
-	/** Phone supports retrieval of CNAP status from either a cache or the network.
-
-	Modes: GSM/WCDMA */
-		KCapsGetCnapStatus					=0x00000100,
-	/** Phone supports retrieval of call barring status from a cache on the phone.
-	
-	Modes: Common */
-		KCapsGetCBStatusCache				=0x00000200,
-	/** Phone supports retrieval of call barring status from the network.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetCBStatusNetwork				=0x00000400,
-	/** Phone supports setting of call barring status in the network.
-	
-	Modes: Common */
-		KCapsSetCBStatus					=0x00000800,
-	/** Phone supports notification of change in call barring status for any service.
-	
-	Modes: Common */
-		KCapsNotifyCBStatus					=0x00001000,
-	/** Phone supports setting of a password for call barring service.
-	
-	Modes: Common */
-		KCapsChangeCBPassword				=0x00002000,
-	/** Phone supports BAIC call barring service.
-	
-	Modes: Common */
-		KCapsBarAllIncoming					=0x00004000,
-	/** Phone supports BIC-Roam call barring service.
-	
-	Modes: Common */
-		KCapsBarIncomingRoaming				=0x00008000,
-	/** Phone supports BAOC call barring service.
-	
-	Modes: Common */
-		KCapsBarAllOutgoing					=0x00010000,
-	/** Phone supports BOIC call barring service.
-	
-	Modes: Common */
-		KCapsBarOutgoingInternational		=0x00020000,
-	/** Phone supports BOIC-ExHC call barring service.
-	
-	Modes: Common */
-		KCapsBarOutgoingInternationalExHC	=0x00040000,
-	/** Phone supports barring all cases at once.
-	
-	Modes: Common */
-		KCapsBarAllCases					=0x00080000,
-	/** Phone supports retrieval of call waiting status from a cache on the phone.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetCWStatusCache				=0x00100000,
-	/** Phone supports retrieval of call waiting status from the network.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetCWStatusNetwork				=0x00200000,
-	/** Phone supports setting of call waiting status in the network.
-	
-	Modes: Common */
-		KCapsSetCWStatus					=0x00400000,
-	/** Phone supports notification of change in call waiting status for any service.
-	
-	Modes: GSM/WCDMA */
-		KCapsNotifyCWStatus					=0x00800000,
-	/** Phone supports retrieval of call completion (CCBS) status from a cache on the 
-	phone.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetCCBSStatusCache				=0x01000000,
-	/** Phone supports retrieval of call completion (CCBS) status from the network.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetCCBSStatusNetwork			=0x02000000,
-	/** Phone supports deactivation of all CCBS requests at once.
-	
-	Modes: GSM/WCDMA */
-		KCapsDeactivateAllCCBS				=0x04000000,
-		KCapsDeactivateCCBS					=0x08000000,
-	/** Phone supports retrieval of a list of active CCBS requests.
-	
-	Modes: GSM/WCDMA */
-		KCapsRetrieveActiveCCBS				=0x10000000,
-	/** The phone supports programming and retrieval of feature code against a CDMA 
-	network service.
-	
-	Modes: CDMA */
-		KCapsFeatureCode					=0x20000000,
-	/** The phone supports sending of generic network service request strings.
-	
-	Modes: Common */
-		KCapsNetworkServiceRequest			=0x40000000,
-	/** The phone supports retrieval of called line identification status.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetCdipStatus					=0x80000000
-		};
-
-	IMPORT_C TInt GetCallServiceCaps(TUint32& aCaps) const;
-	IMPORT_C void NotifyCallServiceCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
-
-	/***********************************************************************************/
-	//
-	// MobilePhoneUserNetworkAccess functional unit
-	//
-	/***********************************************************************************/
-
-/** Mobile Phone network services.
-
-Modes: CDMA */
-	enum TMobilePhoneNetworkService
-		{
-	/** Network service is unspecified. */
-		ENetworkServiceUnspecified,
-	/** Feature code applies to call forwarding unconditional service. */
-		ECFUService,
-	/** Feature code applies to call forwarding on busy service. */
-		ECFBService,
-	/** Feature code applies to call forwarding on no reply service. */
-		ECFNRyService,
-	/** Feature code applies to call forwarding on not reachable service. */
-		ECFNRcService,
-	/** Feature code applies to user selective call forwarding service - when the 
-	user wishes to forward incoming call to voicemail. */
-		EDeflectToVoicemail,
-	/** Feature code applies to user selective call forwarding service - when the
-	user wishes to forward incoming call to a number supplied within the deflect 
-	request. */
-		EDeflectToNumber,
-	/** Feature code applies to user selective call forwarding service - when the 
-	user wishes to forward incoming call to a number pre-registered within the 
-	network. */
-		EDeflectToRegisteredNumber,
-	/** Feature code applies to call waiting service. */
-		ECWService,
-		ENextCallShowCLI,
-	/** Feature code applies to caller ID restriction service - when user wishes to 
-	hide their ID for the next call they make. */
-		ENextCallHideCLI
-		};
-
-/** Mobile phone service actions.
-
-Modes: Common */
-	enum TMobilePhoneServiceAction
-		{
-	/** The action is unspecified. */
-		EServiceActionUnspecified,
-	/** The client is registering new service information. If the service was not active 
-	then this action also activates the service. */
-		EServiceActionRegister,
-	/** The client is activating the service. */
-		EServiceActionActivate,
-	/** The client is invoking the service. */
-		EServiceActionInvoke,
-	/** The client is deactivating the service. */
-		EServiceActionDeactivate,
-	/** The client is erasing the currently registered service information. If the service 
-	was active then this action also deactivates the service. */
-		EServiceActionErase
-		};
-		
-	/**
-	Defines the type of SS operation
-	*/
-	enum TMobilePhoneNotifySendSSOperation
-		{
-		/**
-		SS Invoke operation.
-		*/
-		ESendSSInvoke,
-		/**
-		SS ReturnResult operation.
-		*/
-		ESendSSReturnResult,
-		/**
-		SS ReturnError operation.
-		*/
-		ESendSSReturnError,
-		/**
-		SS Reject operation.
-		*/
-		ESendSSReject		
-		};
-	
-	/** Size of additional info buffer. */	
-	enum{ KAdditionalInfoSize = 244 };
-	
-	class TMobilePhoneSendSSRequestV3 : public TMultimodeType
-	/**
-	Contains the operation code and buffer to hold any additional information when receiving a notification 
-	about a network service request.
-	*/
-		{
-	public:
-		IMPORT_C TMobilePhoneSendSSRequestV3();
-	public:
-		/**
-		This is the Operation Code for a Send SS Invoke or Return result events.
-		This is the Error or Problem Code for a Send SS Return Error or Reject events.
-		*/
-		TUint8	iOpCode;
-		/**
-		The additional information (parameters) for a Send SS Invoke or Return result or Return Error events.
-		This is not used for a Send SS Reject event
-		*/
-		TBuf<KAdditionalInfoSize>	iAdditionalInfo;
-		};
-	
-	/**
- 	Packaging typedef for TMobilePhoneSendSSRequestV3 class.
- 	*/	
-	typedef TPckg<TMobilePhoneSendSSRequestV3> TMobilePhoneSendSSRequestV3Pckg;
-
-	// API/TSY internal type
-
-	struct TNetworkServiceAndAction
-		{
-		TMobilePhoneNetworkService iService;
-		TMobilePhoneServiceAction iAction;
-		};
-	
-	IMPORT_C void ProgramFeatureCode(TRequestStatus& aReqStatus, const TDesC& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const;
-	IMPORT_C void GetFeatureCode(TRequestStatus& aReqStatus, TDes& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const;
-
-	IMPORT_C void SendNetworkServiceRequest(TRequestStatus& aReqStatus, const TDesC& aServiceString) const;
-	IMPORT_C void SendNetworkServiceRequestNoFdnCheck(TRequestStatus& aReqStatus, const TDesC& aServiceString) const;
-	IMPORT_C void NotifySendNetworkServiceRequest(TRequestStatus& aReqStatus, const TMobilePhoneNotifySendSSOperation aOperation, TDes8& aRequestComplete) const;
-
-	/***********************************************************************************/
-	//
-	// MobilePhoneCallForwarding functional unit
-	// 
-	/***********************************************************************************/
-
-/** The Call Forwarding flavours.
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneCFCondition
-		{
-	/** The call forwarding service is unspecified. */
-		ECallForwardingUnspecified,
-	/** All calls to this subscriber are forwarded. */
-		ECallForwardingUnconditional,
-	/** Calls are forwarded when this subscriber is busy. */
-		ECallForwardingBusy,
-	/** Calls are forwarded when this subscriber does not reply within a time-out period. */
-		ECallForwardingNoReply,
-	/** Calls are forwarded when this subscriber is unreachable. */
-		ECallForwardingNotReachable,
-	/** All of above CF services. Can be used to check all 4 call forwarding Fs 
-	at once. */
-		ECallForwardingAllCases,			// combination of all four above cases
-	/** All the conditional (busy, no reply, not reachable) CF services. Can be used 
-	to check all 3 conditional call forwarding conditions at once. */
-		ECallForwardingAllConditionalCases	// combination of CFB, CFNRy and CFNRc
-		};
-
-/** The Call Forwarding status
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneCFStatus
-		{
-	/** The CF service is currently active and operative. */
-		ECallForwardingStatusActive,
-	/** The CF service is currently deactivated. */
-		ECallForwardingStatusNotActive,
-	/** The CF service is not registered. */
-		ECallForwardingStatusNotRegistered,
-	/** The CF service is not provisioned. */
-		ECallForwardingStatusNotProvisioned,
-	/** The CF service is not available in the serving network. */
-		ECallForwardingStatusNotAvailable,
-	/** The phone can not determine CF service status. */
-		ECallForwardingStatusUnknown,
-	/** The Call Forwarding service is active and the presentation indicator is set 
-	to allowed */
-		ECallForwardingStatusActivePIAllowed,
-	/** The Call Forwarding service is active and the presentation indicator is set 
-	to not available */
-		ECallForwardingStatusActivePINotAvailable,
-	/** The Call Forwarding service is active and the presentation indicator is set 
-	to restricted
-	
-	The Call Forwarding service is active and the presentation indicator is set 
-	to restricted and screening returns "User provided, verified and passed". */
-		ECallForwardingStatusActivePIClir,
-	/** The Call Forwarding service is active and the presentation indicator is set 
-	to restricted and screening returns "User provided, not screened". */
-		ECallForwardingStatusActivePIClirSIVerified,
-	/** The Call Forwarding service is active and the presentation indicator is set 
-	to "restricted" and screening returns "Network provided". */
-		ECallForwardingStatusActivePIClirSINotScreened,
-	/** The Call Forwarding service is active and the presentation indicator is set 
-	to "restricted" and screening returns "Network provided". */
-		ECallForwardingStatusActivePIClirSINetwork,
-	/** The CF service is currently in the quiescent state. */	
-		ECallForwardingStatusQuiescent
-		};
-		
-	
-
-	class TMobilePhoneCFInfoEntryV1 : public TMultimodeType
-/** Defines information about the call forwarding service.
-
-Modes: GSM/WCDMA
-
-@see CMobilePhoneCFList
-@publishedPartner
-@released 
-*/
-		{
-	public:
-		IMPORT_C TMobilePhoneCFInfoEntryV1();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-	/** The CF service of this list entry.
-	
-	@see TMobilePhoneCFCondition */
-		TMobilePhoneCFCondition iCondition;
-	/** The basic service group associated to this CF service list entry.
-	
-	@see TMobileService */
-		TMobileService iServiceGroup;
-	/** The current status of the call forwarding condition.
-	
-	@see TMobilePhoneCFStatus */
-		TMobilePhoneCFStatus iStatus;
-	/** The "forward-to" telephone number registered for the call forwarding condition. 
-	An empty string if CF service is not registered, not provisioned or not available.
-	
-	@see TMobileAddress */
-		TMobileAddress iNumber;
-	/** The "No Reply" time-out (in seconds) registered for the call forwarding no reply 
-	condition.
-	
-	Equals to -1 if this value is not applicable. In GSM mode, will be between 
-	5 and 30 and in steps of 5 if this value is applicable. */
-		TInt iTimeout; // valid for CFRNy only
-		};
-
-	IMPORT_C void NotifyCallForwardingStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCFCondition& aCondition) const;
-
-	class TMobilePhoneCFChangeV1 : public TMultimodeType
-/** Defines the call forward information.
-
-@see SetCallForwardingStatus()
-@publishedPartner
-@released 
-*/
-		{
-	public:
-		IMPORT_C TMobilePhoneCFChangeV1();
-	public:
-	/** The basic service group(s) to apply the CF status change to.
-	
-	@see TMobileService */
-		TMobileService iServiceGroup;
-	/** The service action for call forwarding.
-	
-	@see TMobilePhoneServiceAction */
-		TMobilePhoneServiceAction iAction;
-	/** A new "forward-to" number to be registered against the CF condition. This is 
-	applicable if iAction=EServiceActionRegister. In other cases, it is set to
-	an empty string.
-	
-	@see TMobileAddress */
-		TMobileAddress iNumber;
-	/** The new "No Reply" time-out in seconds to be registered. This is applicable 
-	if the CF condition is CFNRy and iAction=EServiceActionRegister. Equals -1 
-	if this value is not applicable. If applicable, in GSM mode will be between 
-	5 and 30 and in steps of 5. */
-		TInt iTimeout;
-		};
-
-	IMPORT_C void SetCallForwardingStatus(TRequestStatus& aReqStatus, TMobilePhoneCFCondition aCondition, const TMobilePhoneCFChangeV1& aInfo) const;
-
-/** Call Forwarding Active Notification
-
-Modes: Common */
-	enum TMobilePhoneCFActive
-		{
-	/** CF Unconditional is currently active. */
-		ECFUnconditionalActive,
-	/** CF Busy, CF No Reply or CF Not Reachable is currently active. */
-		ECFConditionalActive
-		};
-
-	IMPORT_C void NotifyCallForwardingActive(TRequestStatus& aReqStatus, TMobileService& aServiceGroup, TMobilePhoneCFActive& aActiveType) const;
-	
-	/**
-	Current status indicators for unconditional call forwarding.
-	*/
-	enum TCFUIndicatorStatus
-		{
-		/**
-		CFU Indicator status unknown.
-		*/
-		KCFUIndicatorUnknown = 0x0,
-		/**
-		CFU Indicator status for Voice (TMobileServiceGroup EVoice).
-		*/
-		KCFUIndicatorVoice=0x01,
-		/**
-		CFU Indicator status for Fax (TMobileServiceGroup EFax).
-		*/
-		KCFUIndicatorFax=0x02,
-		/**
-		CFU Indicator status for Data Teleservices(TMobileServiceGroup EData).
-		*/
-		KCFUIndicatorData=0x04,
-		/**
-		CFU Indicator status for Sms (TMobileServiceGroup ESms).
-		*/
-		KCFUIndicatorSms=0x08,
-		/**
-		CFU Indicator status for Data Bearer Services(TMobileServiceGroup EDataBearer).
-		*/
-		KCFUIndicatorDataBearer=0x10
-		};
-
-	typedef TUint32 TCFUIndicatorStatusFlags;
-		
-	class TMobilePhoneCFUIndicatorV3 : public TMultimodeType
-	/**
-	Contains indicator parameters for unconditional call forwarding.
-	*/
-		{
-	public:
-		IMPORT_C TMobilePhoneCFUIndicatorV3();
-	public:
-		/**
-		Current setting for indicator status.
-		Can contain a number of flags from RMobilePhone::TCFUIndicatorStatus.
-		*/
-		TCFUIndicatorStatusFlags iIndicator;		
-		};
-		
-	typedef TPckg<TMobilePhoneCFUIndicatorV3> TMobilePhoneCFUIndicatorV3Pckg;
-
-	/**
-	The MSP number contains the Profile Identity of the subscriber profile.
-	The Profile Identity shall be any of the following enlisted.
-	@see 3GPP TS 31.102 v7.4.1 section 4.2.64
-	@see 3GPP TS 23.097 [36]
-	*/
-	enum TMultipleSubscriberProfileID
-		{
-		/**
-		Profile Identity Unknown
-		*/
-		KProfileIdentityUnknown = 0x0,
-		/**
-		Profile Identity 1
-		*/
-		KProfileIdentityOne = 0x01,
-		/**
-		Profile Identity 2
-		*/
-		KProfileIdentityTwo = 0x02,
-		/**
-		Profile Identity 3
-		*/
-		KProfileIdentityThree = 0x04,
-		/**
-		Profile Identity 4
-		*/
-		KProfileIdentityFour = 0x08
-		};
-
-	class TMobilePhoneCFUIndicatorV6 : public TMobilePhoneCFUIndicatorV3
-	/**
-	Contains the indicator parameters for unconditional call forwarding.
-	The TMobilePhoneCFUIndicatorV6 supports MSP number(Multiple Subscriber Profile) and Call Forwarding Number.
-	Upto four different profiles can be provisioned against a subscriber using the MSP feature.
-	@see 3GPP TS 31.102 v7.4.1 section 4.2.64
-	*/
-		{
-	public:
-		IMPORT_C TMobilePhoneCFUIndicatorV6();
-	public:
-		/**
-		@see RMoblie::TMobileAddress
-		*/
-		TMobileAddress iCFNumber;
-		/**
-		The profile IDs allow unambiguous identification of each profile. 
-		This will allow the subscriber to select the preferred profile for outgoing calls and for subscriber actions. 
-		For terminating calls the profile ID shall be part of the notification of the profile.
-		*/
-		TMultipleSubscriberProfileID iMultipleSubscriberProfileID;
-		};
-
-	typedef TPckg<TMobilePhoneCFUIndicatorV6> TMobilePhoneCFUIndicatorV6Pckg;
-
-	IMPORT_C void GetCallForwardingIndicator(TRequestStatus& aReqStatus, TDes8& aIndicator) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Identity Service functional unit
-	// 
-	/***********************************************************************************/
-
-/** Phone ID services (CLIP/CNIP/CLIR).
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneIdService
-		{
-	/** The identity service is unspecified */
-		EIdServiceUnspecified,
-	/** The caller's ID is presented to the called party. */
-		EIdServiceCallerPresentation,
-	/** The caller's ID is restricted to the called party. */
-		EIdServiceCallerRestriction,
-	/** The connected party's ID is presented to the calling party. */
-		EIdServiceConnectedPresentation,
-	/** The connected party's ID is restricted to the calling party. */
-		EIdServiceConnectedRestriction,
-	/** The caller's name is presented to the called party. */
-		EIdServiceCallerName,
-	/** The called party is presented with the caller's ID. This command enables a 
-	called subscriber to get the called line identification of the called party 
-	when receiving a mobile terminated call. - maps to +CDIP. */
-		EIdServiceCalledPresentation
-		};
-
-/** Service status of the Phone ID services (CLIP/CLIR/CNIP).
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneIdServiceStatus
-		{
-	/** The interrogated Identity service is provisioned and active. This status is 
-	used for all identity services and in the case of the CLIR service means that 
-	it is permanently active with no subscription option set. */
-		EIdServiceActivePermanent,
-	/** This status is used for the CLIR service only and means that the service is 
-	provisioned and active.
-	
-	The CLIR subscription option is set to "Temporary, default restricted", therefore 
-	identity is always restricted unless over-ridden by the user during a call 
-	set-up. */
-		EIdServiceActiveDefaultRestricted,
-	/** This status is used for the CLIR service only and means that the service is 
-	provisioned and active.
-	
-	The CLIR subscription option is set to "Temporary, default allowed", therefore 
-	identity is always allowed unless over-ridden by the user during a call set-up. */
-		EIdServiceActiveDefaultAllowed,
-	/** The interrogated Identity service is not provisioned. */
-		EIdServiceNotProvisioned,
-	/** The status of the interrogated Identity service is unknown. */
-		EIdServiceUnknown
-		};
-
-	// for use by client-side API code and TSY only
-
-	struct TIdServiceAndLocation
-		{
-		TMobilePhoneIdService iService;
-		TMobileInfoLocation iLocation;
-		};
-
-	/** This function member retrieves the current status of the identity service specified.
-	
-	The phone will retrieve this service status information from the location 
-	specified by the client.
-	
-	If the client has requested EInfoLocationCache but there is no valid status 
-	information in the cache then the request will return KErrNotFound.
-	
-	If the client has requested EInfoLocationCachePreferred, the network will 
-	be interrogated if the cache is empty. Whenever the network is interrogated, 
-	the cache will be refreshed with the information from the network.
-	
-	Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneGetIdentityServiceStatus) 
-	to cancel a previously placed asynchronous GetIdentityServiceStatus() request.
-	
-	@param aReqStatus On return, KErrNone if successful.
-	@param aService The identity service to be queried.
-	@param aStatus On return, the service status.
-	@param aLocation The location to use. */
-	IMPORT_C void GetIdentityServiceStatus(TRequestStatus& aReqStatus, TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const;
-	
-	/**
-	Identifies default service status for provisioned identity services.
-	*/
-	enum TMobilePhoneIdServiceSetting
-		{
-		/** Sets the default setting to network default (unknown). */
-		EIdServiceNetworkDefault,
-		/** Sets the default setting to presentation restricted. */
-		EIdServicePresentationRestricted,
-		/** Sets the default setting to presentation allowed. */
-		EIdServicePresentationAllowed
-		};
-		
-	IMPORT_C void SetIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, const TMobilePhoneIdServiceSetting aSetting) const;
-	IMPORT_C void NotifyIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus) const;
-	IMPORT_C void NotifyIdentitySuppressionRejected(TRequestStatus& aReqStatus) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Call Barring Functional Unit
-	//
-	/***********************************************************************************/
-
-/** Mobile Phone Call Baring Conditions.
-
-Modes: Common */
-	enum TMobilePhoneCBCondition
-		{
-	/** The barring program is unspecified */
-		EBarUnspecified,
-	/** All incoming calls to this subscriber are barred (BAIC). */
-		EBarAllIncoming,
-	/** All incoming calls to this subscriber are barred when roaming outside the home 
-	PLMN country (BIC-roam). */
-		EBarIncomingRoaming,
-	/** All outgoing calls by this subscriber are barred (BAOC). */
-		EBarAllOutgoing,
-	/** All outgoing international calls by this subscriber are barred (BOIC). */
-		EBarOutgoingInternational,
-	/** All outgoing international calls except those directed to the home PLMN country 
-	by this subscriber are barred (BOIC-ExHC). */
-		EBarOutgoingInternationalExHC,
-	/** All of above CB services. */
-		EBarAllCases,
-		EBarAllOutgoingServices,
-		EBarAllIncomingServices
-		};
-
-/** Mobile Phone Call Barring Status and Information.
-
-Modes: Common */
-	enum TMobilePhoneCBStatus
-		{
-	/** The CB service is currently active and operative. */
-		ECallBarringStatusActive,
-	/** The CB service is currently deactivated or quiescent. */
-		ECallBarringStatusNotActive,
-	/** In GSM/WCDMA mode, the CB service is not provisioned. In CDMA mode, this value 
-	has no meaning. */
-		ECallBarringStatusNotProvisioned,
-	/** In GSM/WCDMA mode, the CB service is not available in serving network. In CDMA
-	mode, the CB service is not available in the phone. */
-		ECallBarringStatusNotAvailable,
-	/** The phone can not determine CB service status. */
-		ECallBarringStatusUnknown
-		};
-
-	
-
-	class TMobilePhoneCBInfoEntryV1 : public TMultimodeType
-/** Defines information about the call barring service.
-
-@see CMobilePhoneCBList
-@publishedPartner
-@released 
-*/
-		{
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-		IMPORT_C TMobilePhoneCBInfoEntryV1();
-	public:
-	/** The CB service of this list entry.
-	
-	Modes: Common
-	
-	@see TMobilePhoneCBCondition */
-		TMobilePhoneCBCondition iCondition;
-	/** The service group associated to this list entry.
-	
-	Modes: Common
-	
-	@see TMobileService */
-		TMobileService iServiceGroup;
-	/** The CB service status of this list entry.
-	
-	Modes: Common
-	
-	@see TMobilePhoneCBStatus */
-		TMobilePhoneCBStatus iStatus;
-		};
-		
-	class TMobilePhoneCBInfoEntryV3 : public TMobilePhoneCBInfoEntryV1
-	/**
-	V3 class extending TMobilePhoneCBInfoEntryV1 to add a comparison method parameter.
-	*/
-		{
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-		IMPORT_C TMobilePhoneCBInfoEntryV3();
-	public:
-		/**
-		The comparison method associated with this CB entry.
-		*/
-		TUint8 iCompMethod;
-		};
-		
-	class TMobilePhoneCBChangeV1 : public TMultimodeType
-/** Mobile Phone Call Barring Change.
-
-@see SetCallBarringStatus() 
-*/
-		{
-	public:
-		IMPORT_C TMobilePhoneCBChangeV1();
-	public:
-	/** The basic service group(s) to apply the CB status change to.
-	
-	@see TMobileService */
-		TMobileService iServiceGroup;
-	/** The service action for call barring.
-	
-	@see TMobilePhoneServiceAction */
-		TMobilePhoneServiceAction iAction;
-	/** Password required to perform the call barring service action.
-	
-	@see TMobilePassword */
-		TMobilePassword iPassword;
-		};
-
-	IMPORT_C void SetCallBarringStatus(TRequestStatus& aReqStatus, TMobilePhoneCBCondition aCondition, const TMobilePhoneCBChangeV1& aInfo) const;
-	IMPORT_C void NotifyCallBarringStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCBCondition& aCondition) const;
-	
-	class TMobilePhonePasswordChangeV1 : public TMultimodeType
-/** Mobile phone password change.
-
-@see SetCallBarringPassword()
-@see ChangeSecurityCode()
-@publishedPartner
-@released 
-*/
-		{
-	public:
-		IMPORT_C TMobilePhonePasswordChangeV1();
-	public:
-	/** Old password.
-	
-	Modes: Common
-	
-	@see TMobilePassword */
-		TMobilePassword iOldPassword;
-	/** New password.
-	
-	Modes: Common
-	
-	@see TMobilePassword */
-		TMobilePassword iNewPassword;
-		};
-
-	IMPORT_C void SetCallBarringPassword(TRequestStatus& aReqStatus, const TMobilePhonePasswordChangeV1& aPassword) const;
-
-	class TMobilePhonePasswordChangeV2 : public TMobilePhonePasswordChangeV1
-/** Mobile phone password change version 2. 
-*/
-	{
-	public:
-		IMPORT_C TMobilePhonePasswordChangeV2();
-	public:
-	/** Verified password.
-	
-	Modes: Common
-	
-	@see TMobilePassword */
-		TMobilePassword iVerifiedPassword;
-	};
-
-/** A typedef'd packaged TMobilePhonePasswordChangeV2 passing through a generic 
-API function member. */
-	typedef TPckg<TMobilePhonePasswordChangeV2> TMobilePhonePasswordChangeV2Pckg;
-
-	IMPORT_C void SetSSPassword(TRequestStatus& aReqStatus, const TDesC8& aPassword, const TInt aService) const;
-	
-	IMPORT_C void GetCompMethodName(TRequestStatus& aReqStatus, TDes& aAlphaTag, const TUint8 aCmi) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Call Waiting Functional Unit
-	//
-	/***********************************************************************************/
-
-/** The mobile phone call waiting status.
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneCWStatus
-		{
-	/** The CW service is currently active and operative. */
-		ECallWaitingStatusActive,
-	/** The CW service is currently deactivated or quiescent. */
-		ECallWaitingStatusNotActive,
-	/** The CW service is not provisioned. */
-		ECallWaitingStatusNotProvisioned,
-	/** The CW service is not available in the serving network. */
-		ECallWaitingStatusNotAvailable,
-	/** The phone can not determine CW service status. */
-		ECallWaitingStatusUnknown
-		};
-
-	
-
-	class TMobilePhoneCWInfoEntryV1 : public TMultimodeType
-/** Defines information about the call waiting service.
-
-@see CMobilePhoneCWList 
-*/
-		{
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-		IMPORT_C TMobilePhoneCWInfoEntryV1();
-	public:
-	/** The service group associated to this CW service list entry.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobileService */
-		TMobileService iServiceGroup;
-	/** The CW service status of this list entry.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobilePhoneCWStatus */
-		TMobilePhoneCWStatus iStatus;
-		};
-
-/** A typedef'd packaged TMobilePhoneCWInfoEntryV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobilePhoneCWInfoEntryV1> TMobilePhoneCWInfoEntryV1Pckg;
-
-	IMPORT_C void SetCallWaitingStatus(TRequestStatus& aReqStatus, TMobileService aServiceGroup, TMobilePhoneServiceAction aAction) const;
-	IMPORT_C void NotifyCallWaitingStatusChange(TRequestStatus& aReqStatus, TDes8& aCWStatus) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Call Completion Unit
-	//
-	/***********************************************************************************/
-
-/** The Call Completion Busy Subscriber status of the phone.
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneCCBSStatus
-		{
-	/** User has CCBS provisioned and there is at least 1 (and up to 5) active CCBS 
-	requests. */
-		ECcbsActive,
-	/** User has CCBS provisioned but there are currently no active CCBS requests. */
-		ECcbsNotActive,
-	/** User has not subscribed to the CCBS service. */
-		ECcbsNotProvisioned,
-	/** The CCBS service is not available in the serving network. */
-		ECcbsNotAvailable,
-	/** MS is unable to determine status of the CCBS service. */
-		ECcbsUnknown
-		};
-
-/** CCBS recall events.
-
-@see RMobilePhone::TMobilePhoneCCBSEntryV2 */
-	enum TCCBSRecallEvent
-		{
-	/** Recall received. */
-		ECcbsRecallReceived,
-	/** Recall accepted. */
-		ECcbsRecallAccepted,
-	/** Recall refused. */
-		ECcbsRecallRefused,
-	/** Recall reason unspecified. */
-		ECcbsRecallUnspecified
-		};
-
-	
-
-	class TMobilePhoneCCBSEntryV1 : public TMultimodeType
-/** Defines information about the call completion (CCBS) service.
-
-@see CMobilePhoneCcbsList
-@publishedPartner
-@released 
-*/
-		{
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-		IMPORT_C TMobilePhoneCCBSEntryV1();
-	public:
-	/** The CCBS index - a number allocated by the network.
-	
-	Modes: GSM/WCDMA */
-		TInt			iCcbsIndex;
-	/** The basic service group (voice/data/fax) this CCBS request is applicable to.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobileService */
-		TMobileService	iServiceGroup;
-	/** The phone number of the remote party to whom the CCBS request is aimed.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobileAddress */
-		TMobileAddress	iDestination;
-
-		};
-
-/** A typedef'd packaged TMobilePhoneCCBSEntryV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobilePhoneCCBSEntryV1> TMobilePhoneCCBSEntryV1Pckg;
-
-
-	class TMobilePhoneCCBSEntryV2 : public TMobilePhoneCCBSEntryV1
-/** Defines information about the call completion (CCBS) service version 2. 
-*/
-		{
-	public:
-		IMPORT_C	TMobilePhoneCCBSEntryV2();
-	public:
-		TCCBSRecallEvent	iEvent;
-		}; 
-	
-/** A typedef'd packaged TMobilePhoneCCBSEntryV2 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobilePhoneCCBSEntryV2> TMobilePhoneCCBSEntryV2Pckg;
-	
-	IMPORT_C void GetCCBSStatus(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const;
-	IMPORT_C void NotifyCCBSStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus) const;
-	IMPORT_C void DeactivateCCBS(TRequestStatus& aReqStatus, TInt aIndex) const;
-	IMPORT_C void NotifyCCBSRecall(TRequestStatus& aReqStatus, TDes8& aCCBSEntry) const;
-	IMPORT_C void AcceptCCBSRecall(TRequestStatus& aReqStatus, TInt aIndex, TName& aCallName) const;
-	IMPORT_C TInt RefuseCCBSRecall(TInt aIndex) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Alternating Call Function Unit
-	//
-	/***********************************************************************************/
-
-/** Alternating Call Capabilities
-
-Modes: GSM */
-	enum TMobilePhoneAlternatingCallCaps
-		{
-	/** Phone supports outgoing Voice/Data calls
-	
-	Modes: GSM */
-		KCapsMOVoiceData = 0x00000001,
-	/** Phone supports outgoing Voice Then Data calls.
-	
-	Modes: GSM */
-		KCapsMOVoiceThenData = 0x00000002,
-	/** Phone supports outgoing Voice/Fax calls.
-	
-	Modes: GSM/WCDMA */
-		KCapsMOVoiceFax	= 0x00000004,
-	/** Phone supports incoming Voice/Data calls.
-	
-	Modes: GSM */
-		KCapsMTVoiceData = 0x00000008,
-	/** Phone supports incoming Voice Then Data calls.
-	
-	Modes: GSM */
-		KCapsMTVoiceThenData = 0x00000010,
-	/** Phone supports incoming Voice/Fax calls
-
-	Modes: GSM/WCDMA */
-		KCapsMTVoiceFax = 0x00000020
-		};
-
-	IMPORT_C TInt GetAlternatingCallCaps(TUint32& aCaps) const;
-	IMPORT_C void NotifyAlternatingCallCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
-
-/** Alternating Call Mode.
-
-Modes: Common */
-	enum TMobilePhoneAlternatingCallMode
-		{
-	/** The alternating call mode is unspecified
-	
-	Modes: Common */
-		EAlternatingModeUnspecified,
-	/** Next call will use a single bearer service - default setting
-	
-	Modes: Common */
-		EAlternatingModeSingle,
-	/** Next call will use voice/data alternating bearer service. 
-	
-	Modes: GSM */
-		EAlternatingModeVoiceData,
-	/** Next call will use voice then data alternating bearer service.
-	
-	Modes: GSM */
-		EAlternatingModeVoiceThenData,
-	/** Next call will use voice/fax alternating bearer service. 
-	
-	Modes: GSM/WCDMA */
-		EAlternatingModeVoiceFax
-		};
-
-	IMPORT_C TInt GetAlternatingCallMode(TMobilePhoneAlternatingCallMode& aMode, TMobileService& aFirstService) const;
-	IMPORT_C void SetAlternatingCallMode(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode aMode, TMobileService aFirstService) const;
-	IMPORT_C void NotifyAlternatingCallModeChange(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode& aMode,TMobileService& aFirstService) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Alternate Line Service Functional Unit
-	//
-	/***********************************************************************************/
-
-/** Alternate Line Primary settings.
-
-Modes: GSM */
-	enum TMobilePhoneALSLine
-		{
-	/** Current ALS line selection is the "Primary" voice line. */
-		EAlternateLinePrimary,
-	/** Current ALS line selection is the "Auxiliary" voice line. */
-		EAlternateLineAuxiliary,
-	/** ALS is supported by ME and SIM, but the TSY can not determine which line is 
-	currently selected. */
-		EAlternateLineUnknown,
-	/** The ME, SIM or serving network does not support ALS. */
-		EAlternateLineNotAvailable
-		};
-
-	IMPORT_C TInt GetALSLine(TMobilePhoneALSLine& aALSLine) const;
-	IMPORT_C void SetALSLine(TRequestStatus& aReqStatus, TMobilePhoneALSLine aALSLine) const;
-	IMPORT_C void NotifyALSLineChange(TRequestStatus& aReqStatus, TMobilePhoneALSLine& aALSLine) const;
-
-	/***********************************************************************************/	
-	//
-	// Mobile Network Security Functional Unit
-	//
-	/***********************************************************************************/
-
-/** Enumerated network security types.
-
-Mode: Common */
-	enum TMobilePhoneNetworkSecurity
-		{
-	/** The encryption level is NONE.
-	
-	Mode: Common */
-		ECipheringOff,
-	/** The encryption level is GSM.(standard encryption algorithms for 2nd Generation 
-	Mobile networks).
-	
-	Mode: GSM */
-		ECipheringGSM,
-	/** The encryption level is WCDMA.(standard encryption algorithms for 3rd Generation 
-	Mobile networks).
-	
-	Mode: WCDMA */
-		ECipheringWCDMA,
-	/** The encryption level is CDMA.(standard encryption algorithms for 3rd Generation 
-	Mobile networks).
-	
-	Mode: CDMA */
-		ECipheringCDMA
-		};
-
-	IMPORT_C void GetNetworkSecurityLevel(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const;
-	IMPORT_C void NotifyNetworkSecurityLevelChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const;
-	
-	/**
-	Indicators for whether encryption status of the current call should be displayed.
-	*/
-	enum TMobileCallCipheringIndicator
-		{
-		/**
-		The ME indication displaying the encryption status of the current call should be off.
-		*/
-		ECipheringDisplayOff,
-		/**
-		The ME indication displaying the encryption status of the current call should be on.
-		*/
-		ECipheringDisplayOn 
-		};
-		
-    IMPORT_C void GetCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const;
-    IMPORT_C void NotifyCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Cost Functional Unit
-	//
-	/***********************************************************************************/
-
-/** Call Cost Capabilities.
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneCostCaps
-		{
-	/** Indicates that the phone supports calculation and display of current and accumulated 
-	call cost on an information-only basis. (The AoCI service in GSM) 
-	
-	Modes: GSM/WCDMA */
-		KCapsCostInformation = 0x00000001,
-	/** Indicates that the phone supports calculation and display of current and accumulated 
-	call cost in order to support the charging service. (The AoCC service in GSM). 
-
-
-	Modes: Common */
-		KCapsCostCharging = 0x00000002,
-	/** Indicates that the phone supports clearing of cost meters (ACM or CCM) to zero.
-	
-	Modes: Common */
-		KCapsClearCost = 0x00000004,
-	/** Indicates that the phone supports setting the maximum allowed cost (ACMmax) 
-	to a non-zero value. 
-	
-	Modes: Common */
-		KCapsSetMaxCost = 0x00000008,
-	/** Indicates that the phone supports setting the currency and price per unit.
-	
-	Modes: GSM/WCDMA */
-		KCapsSetPuct = 0x00000010,
-	/** Indicates that the phone currently has call cost information available that 
-	the client can retrieve.
-	
-	Modes: Common */
-		KCapsGetCost = 0x00000020,
-	/** Indicates that the phone can notify the client when the call cost information 
-	changes. 
-	
-	Modes: Common */
-		KCapsNotifyCostChange = 0x00000040
-		};
-
-	IMPORT_C TInt GetCostCaps(TUint32& aCaps) const;
-	IMPORT_C void NotifyCostCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
-
-/** Clear Cost Meter.
-
-Modes: Common */
-	enum TMobilePhoneCostMeters
-		{
-	/** Clear the Current Call Meter. */
-		EClearCCM,
-	/** Clear the Accumulated Charge Meter. */
-		EClearACM,
-	/** Clear all cost meters */
-		EClearAll
-		};
-
-	IMPORT_C void ClearCostMeter(TRequestStatus& aReqStatus, TMobilePhoneCostMeters aMeter) const;
-	IMPORT_C void SetMaxCostMeter(TRequestStatus& aReqStatus, TUint aUnits) const;
-
-	
-	
-	class  TMobilePhonePuctV1 : public TMultimodeType
-/** Defines the contents of the price/unit and currency table (PUCT) on the SIM.
-
-@see TMobilePhoneCostInfoV1
-@see SetPuct() 
-*/
-		{
-	public:
-		IMPORT_C TMobilePhonePuctV1();
-	public:
-	/** The Price per Unit. This floating point value is used to adjust the pricing 
-	units supplied by the network into real currency values. 
-	
-	Modes: GSM/WCDMA */
-		TReal   iPricePerUnit;
-	/** The three character currency indicator.
-	
-	Modes: GSM/WCDMA */
-		TBuf<4> iCurrencyName;
-		};
-
-/** A typedef'd packaged TMobilePhonePuctV1 for passing through a generic API function 
-member. */
-	typedef TPckg<TMobilePhonePuctV1> TMobilePhonePuctV1Pckg;
-	
-	IMPORT_C void SetPuct(TRequestStatus& aReqStatus, const TDesC8& aPuct) const;
-	
-/** Cost Information
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneCostService
-		{
-	/** Phone supports call cost service but no calls are currently in progress so the 
-	network support and user subscription is unknown. */
-		ECostServiceUnknown,
-	/** The network or the phone does not support any of the call cost services. The 
-	call can be either in progress or not. If the user is subscribed to AoCI they 
-	will be able to continue to make calls but will not see any charging information. 
-	If the user is subscribed to AoCC then they will be prevented from making 
-	chargeable calls. */
-		ECostServiceNotAvailable,
-	/** Call is in progress and a call cost service is active but the phone is unable 
-	to determine whether it is an AoCI or AoCC service. */
-		ECostServiceAvailable,
-	/** Call is in progress and the call cost information (AoCI) service is currently 
-	operating.
-	
-	Modes: GSM/WCDMA */
-		ECostServiceInformation,
-	/** Call is in progress and the call cost charging (AoCC) service is currently operating.
-	
-	Modes: GSM/WCDMA */
-		ECostServiceCharging
-		};
-
-	
-
-	class TMobilePhoneCostInfoV1 : public TMultimodeType
-/** Defines the information related to current billing costs.
-
-@see GetCostInfo()
-@see NotifyCostInfoChange() 
-*/
-		{
-	public:
-		IMPORT_C TMobilePhoneCostInfoV1();
-	public:
-	/** The current status and type of call cost service.
-	
-	@see TMobilePhoneCostService */
-		TMobilePhoneCostService iService;
-	/** The current number of charging units in the Current Call Meter. This is set 
-	to zero if reset by the user or at the start of call set-up attempt. */
-		TUint iCCM;
-	/** The current number of charging units in the Accumulated Call Meter. This equals 
-	the accumulation of previous and current calls. */
-		TUint iACM;
-	/** The maximum number of charging units that the ACM can rise to before chargeable 
-	calls are stopped. Equals zero if Service != ECostServiceCharging. */
-		TUint iACMmax;
-	/** The Price per Unit and Currency Table.
-	
-	@see TMobilePhonePuctV1 */
-		TMobilePhonePuctV1 iPuct;
-		};
-
-/** A typedef'd packaged TMobilePhoneCostInfoV1 for passing through a generic API
-function member. */
-	typedef TPckg<TMobilePhoneCostInfoV1> TMobilePhoneCostInfoV1Pckg;
-
-	IMPORT_C void GetCostInfo(TRequestStatus& aReqStatus, TDes8& aCostInfo) const;
-	IMPORT_C void NotifyCostInfoChange(TRequestStatus& aReqStatus, TDes8& aCostInfo) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Security Functional Unit
-	//
-	/***********************************************************************************/
-
-/** Security Capabilities.
-
-Modes: Common */
-	enum TMobilePhoneSecurityCaps
-		{
-	/** The phone supports an overall "phone device lock" which can be enabled or disabled. 
-	If enabled, user must enter phone password before the phone can be used. When 
-	this capability is set the phone will support get lock info, notify lock info 
-	change and set lock setting for phone device lock.
-	
-	Modes: Common */
-		KCapsLockPhone = 0x0000001,
-	/** The phone supports locking the ICC (using the PIN1 security code), which can 
-	be enabled or disabled. If enabled, the user must enter PIN1 code before the 
-	ICC can be used. When this capability is set the phone will support get lock 
-	info, notify lock info change and set lock setting for ICC lock. 
-	
-	Modes: Common */
-		KCapsLockICC = 0x00000002,
-	/** The phone supports the "phone to ICC lock" which can be enabled or disabled. 
-	If enabled, at power-up the phone will check whether current ICC is the one 
-	the phone is locked to or not. If not, then the user must enter the phone
-	password before phone can be used with this ICC. When this capability is set 
-	the phone will support get lock info, notify lock info change and set lock 
-	setting for Phone-ICC lock. 
-	
-	Modes: Common */
-		KCapsLockPhoneToICC = 0x00000004,
-	/** The phone supports the "phone to first ICC lock" which can be enabled or disabled. 
-	If enabled, at power-up the phone will check whether current ICC is the one 
-	the phone is first locked to or not. If not, then user must enter the phone 
-	password before the phone can be used with this ICC. When this capability 
-	is set the phone will support get lock info, notify lock info change and set 
-	lock setting for Phone-First ICC lock.
-
-	Modes: Common */
-		KCapsLockPhoneToFirstICC = 0x00000008,
-	/** The phone supports the "Over The Air" programming lock which can be enabled 
-	or disabled. If enabled, the phone will prevent OTA programming by the network. 
-	If disabled, the phone will allow OTA programming by the network. When this 
-	capability is set the phone will support get lock info, notify lock info change 
-	and set lock setting for OTA lock. 
-	
-	Modes: CDMA */
-		KCapsLockOTA = 0x00000010,
-	/** The phone supports access to the PIN 1 security code. When this capability is 
-	set the phone will support verification of PIN1, unblocking PIN1, changing 
-	PIN1 and notification of PIN1 required. 
-	
-	Modes: Common */
-		KCapsAccessPin1 = 0x00000020,
-	/** The phone supports access to the PIN 2 security code. When this capability is 
-	set the phone will support verification of PIN2, unblocking PIN2, changing 
-	PIN2 and notification of PIN2 required.
-	
-	Modes: GSM/WCDMA */
-		KCapsAccessPin2 = 0x00000040,
-	/** The phone supports access to the phone password security code. When this capability 
-	is set the phone will support verification of the phone password, changing 
-	the phone password and notification if the phone password is required. 
-	
-	Modes: Common */
-		KCapsAccessPhonePassword = 0x00000080,
-	/** The phone supports access to the SPC (Service Programming Code) security code. 
-	This code may need to be verified before OTA can commence.
-	
-	Modes: CDMA */
-		KCapsAccessSPC = 0x00000100,
-	/** The phone supports access to the hidden key. When this capability is set the
-	phone will support verification of HiddenKey. 
-	
-	Modes: WCDMA */
-		KCapsAccessHiddenKey=0x00000200,
-	/** The phone supports access to the USIM Application PIN. An Application PIN allows 
-	access to any file on the UICC where it is referenced in the access rules.
-	
-	Modes: WCDMA */
-		KCapsAccessUSIMAppPin=0x00000400,
-	/** The phone supports access to the second USIM Application PIN. The second Application 
-	PIN allows access to files (where it is referenced in the access rules) within 
-	one USIM Application on the UICC. This is a local PIN.
-	
-	Modes: WCDMA */
-		KCapsAccessUSIMAppSecondPin =0x00000800,
-	/** The phone supports access to the Universal PIN. A Universal PIN is a PIN that 
-	is used in a multi-application UICC environment to allow several USIM applications 
-	to share one common PIN.
-	
-	Modes: WCDMA */
-		KCapsAccessUniversalPin =0x00001000
-		};
-
-	IMPORT_C TInt GetSecurityCaps(TUint32& aCaps) const;
-	IMPORT_C void NotifySecurityCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
-
-/** Lock Information.
-
-Modes: Common */
-	enum TMobilePhoneLock
-		{
-	/** Lock the whole device. Phone lock password is required to unlock when this lock 
-	is enabled. 
-
-	Modes: Common */
-		ELockPhoneDevice,
-	/** Lock PIN1 on the ICC. PIN1 security code is required to unlock when this lock 
-	is enabled. 
-	
-	Modes: Common */
-		ELockICC,
-	/** Lock the phone to the current ICC inserted in the phone Phone lock password 
-	is required to unlock when this lock is enabled.
-	
-	Modes: Common */
-		ELockPhoneToICC,
-	/** Lock the phone to the first ICC inserted in the phone. Phone lock password is 
-	required to unlock when this lock is enabled.
-	
-	Modes: Common */
-		ELockPhoneToFirstICC,
-	/** Lock the OTA facility on the phone. SPC security code may be required to unlock 
-	when this lock is enabled.
-	
-	Modes: CDMA */
-		ELockOTA,
-	/** Lock PIN2 on the ICC. PIN2 security code is required to unlock when this lock 
-	is enabled.
-	
-	Modes: Common */
-		ELockPin2,
-	/** Lock the phonebook hidden entries on the phone. Hidden key security code may 
-	be required to unlock when this lock is enabled.
-	
-	Modes: WCDMA */
-		ELockHiddenKey,
-	/** Lock the associated USIM Application. USIM Application PIN is required to unlock 
-	when this lock is enabled.
-	
-	Modes: WCDMA */
-		ELockUSimApp,
-	/** Lock the associated USIM Application. The second USIM Application PIN is required 
-	to unlock when this lock is enabled.
-	
-	Modes: WCDMA */
-		ELockSecondUSimApp,
-	/** Lock the associated USIM Application(s) that share this common lock. Universal 
-	Pin is required to unlock when this lock is enabled.
-	
-	Modes: WCDMA */
-		ELockUniversalPin,
-	/** Lock for the NAM.  The SPC is required to unlock.
-	
-	Modes: CDMA */
-		ELockNam
-		};
-
-/** Phone lock status.
-
-Modes: Common */
-	enum TMobilePhoneLockStatus
-		{
-	/** The status of the lock is unknown. */
-		EStatusLockUnknown,
-	/** Lock is closed - user can not access functionality governed by this lock until 
-	user correctly enters associated security code. */
-		EStatusLocked,
-	/** Lock is open - user can access functionality governed by this lock */
-		EStatusUnlocked,
-		EStatusBlocked
-		};
-
-/** The phone lock setting.
-
-Modes: Common */
-	enum TMobilePhoneLockSetting
-		{
-	/** The setting of the lock is unknown
-	
-	Modes: Common */
-		ELockSetUnknown,
-	/** Lock is enabled - associated security code will be required to unlock the 
-	lock, the next time the lock's status is EStatusLocked. 
-	
-	Modes: Common */
-		ELockSetEnabled,
-	/** Lock is disabled - so its status is always EStatusUnlocked.
-	
-	Modes: Common */
-		ELockSetDisabled,
-	/** Lock of the current Application is replaced by the Universal PIN. Only the 
-	Universal PIN is allowed as a replacement.
-
-	Modes: WCDMA */
-		ELockReplaced
-		};
-
-	
-
-	class TMobilePhoneLockInfoV1 : public TMultimodeType
-/** Defines the status of a phone lock.
-
-@see GetLockInfo()
-@see NotifyLockInfoChange()
-@publishedPartner
-@released
-*/
-		{
-	public:
-		IMPORT_C TMobilePhoneLockInfoV1();
-	public:
-	/** The current status of the lock.
-	
-	Modes: Common
-	
-	@see TMobilePhoneLockStatus */
-		TMobilePhoneLockStatus iStatus;
-	/** The current setting of the lock.
-	
-	Modes: Common
-	
-	@see TMobilePhoneLockSetting */
-		TMobilePhoneLockSetting iSetting;
-		};
-
-/** A typedef'd packaged TMobilePhoneLockInfoV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobilePhoneLockInfoV1> TMobilePhoneLockInfoV1Pckg;
-
-	IMPORT_C void GetLockInfo(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TDes8& aLockInfo) const;
-	IMPORT_C void NotifyLockInfoChange(TRequestStatus& aReqStatus, TMobilePhoneLock& aLock, TDes8& aLockInfo) const;
-	IMPORT_C void SetLockSetting(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TMobilePhoneLockSetting aSetting) const;
-
-/** Change Security Code.
-
-Modes: Common */
-	enum TMobilePhoneSecurityCode
-		{
-	/** PIN 1 code (between 4-8 digits).
-
-	Modes: Common */
-		ESecurityCodePin1,
-	/** PIN 2 code (between 4-8 digits)
-	
-	Modes: GSM/WCDMA */
-		ESecurityCodePin2,
-	/** PIN 1 unblocking code (always 8 digits).
-	
-	Modes: Common */
-		ESecurityCodePuk1,
-	/** PIN 2 unblocking code (always 8 digits)
-	
-	Modes: GSM/WCDMA */
-		ESecurityCodePuk2,
-	/** Password used for Phone-SIM Lock and Phone Device Lock (up to 8 digits) 
-	
-	Modes: Common */
-		ESecurityCodePhonePassword,
-	/** Service Programming Code (SPC)
-	
-	Modes: CDMA */
-		ESecurityCodeSPC,
-	/** Phonebook key to display the hidden entries.
-	
-	Modes: WCDMA */
-		ESecurityHiddenKey,
-	/** USIM Application PIN.
-	
-	Modes: WCDMA */
-		ESecurityUSIMAppPin,
-	/** Second USIM Application PIN.
-	
-	Modes: WCDMA */
-		ESecuritySecondUSIMAppPin,
-	/** Universal PIN.
-	
-	Modes: WCDMA */
-		ESecurityUniversalPin,
-	/** Universal PIN unblocking code (always 8 digits).
-	
-	Modes: Common */
-		ESecurityUniversalPuk
-		};
-
-	IMPORT_C void ChangeSecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, const TMobilePhonePasswordChangeV1& aChange) const;
-
-	/** Defines the status of a security code.
-
-	@see GetSecurityCodeInfo()
-	@see NotifySecurityCodeInfoChange()
-	@publishedPartner
-	@released
-	*/
-	class TMobilePhoneSecurityCodeInfoV5 : public TMultimodeType
-		{
-	public:
-		IMPORT_C TMobilePhoneSecurityCodeInfoV5();
-	public:
-	/** Number of remaining security code entry attempts before the corresponding lock gets blocked
-	
-	Modes: Common
-	*/
-		TInt iRemainingEntryAttempts;
-		};
-	
-	/** A typedef'd packaged TMobilePhoneSecurityCodeInfoV5 for passing through a generic API
-	function member. */
-	typedef TPckg<TMobilePhoneSecurityCodeInfoV5> TMobilePhoneSecurityCodeInfoV5Pckg;
-	
-	IMPORT_C void GetSecurityCodeInfo(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aSecurityCode, TDes8& aSecurityCodeInfo) const;
-	IMPORT_C void NotifySecurityCodeInfoChange(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode& aSecurityCode, TDes8& aSecurityCodeInfo) const;
-
-/** Notify Security Events.
-
-Modes: Common */
-	enum TMobilePhoneSecurityEvent
-		{
-	/** The phone has detected that there is no ICC present. 
-	
-	Modes: Common */
-		ENoICCFound,
-	/** The phone has detected that the ICC is unusable. 
-	
-	Modes: Common */
-		EICCTerminated,
-	/** The phone requires PIN1 to be entered. 
-	
-	Modes: Common */
-		EPin1Required,
-	/** The phone requires PUK1 to be entered.
-	
-	Modes: Common */
-		EPuk1Required,
-	/** The phone requires PIN2 to be entered.
-	
-	Modes: GSM/WCDMA */
-		EPin2Required,
-	/** The phone requires PUK2 to be entered.
-	
-	Modes: GSM/WCDMA */
-		EPuk2Required,
-	/** The phone requires the Phone Password to be entered. 
-	
-	Modes: Common */
-		EPhonePasswordRequired,
-	/** The phone requires the SPC to be entered. 
-	
-	Modes: CDMA */
-		ESPCRequired,
-	/** The PIN1 verification procedure has passed. 
-	
-	Modes: Common */
-		EPin1Verified,
-	/** The PIN2 verification procedure has passed.
-
-	Modes: GSM/WCDMA */
-		EPin2Verified,
-	/** The PUK1 unblocking procedure has passed.
-	
-	Modes: Common */
-		EPuk1Verified,
-	/** The PUK2 unblocking procedure has passed. 
-	
-	Modes: GSM/WCDMA */
-		EPuk2Verified,
-	/** The Phone Password has been verified. 
-	
-	Modes: Common */
-		EPhonePasswordVerified,
-	/** The SPC verification procedure has passed.
-	
-	Modes: CDMA */
-		ESPCVerified,
-	/** The phone requires the phonebook hidden key to be entered.
-	
-	Modes: WCDMA */
-		EHiddenKeyRequired,
-	/** The phonebook hidden key procedure has passed.
-	
-	Modes: WCDMA */
-		EHiddenKeyVerified,
-	/** The phone requires the currently active USIM Application PIN to be entered.
-	
-	Modes: WCDMA */
-		EUSIMAppPinRequired,
-	/** The currently active USIM Application PIN procedure has passed.
-	
-	Modes: WCDMA */
-		EUSIMAppPinVerified,
-	/** The phone requires the currently active USIM Application second PIN to be entered.
-	
-	Modes: WCDMA */
-		ESecondUSIMAppPinRequired,
-	/** The currently active USIM Application second PIN procedure has passed.
-	
-	Modes: WCDMA */
-		ESecondUSIMAppPinVerified,
-	/** The phone requires the Universal PIN to be entered.
-	
-	Modes: WCDMA */
-		EUniversalPinRequired,
-	/** The currently active Universal PIN procedure has passed.
-	
-	Modes: WCDMA */
-		EUniversalPinVerified,
-	/** The Service Programming Code has been changed.
-	
-	Modes: CDMA */
-		ESPCChanged,
-	/** The phone requires Universal PUK to be entered.
-	
-	Modes: WCDMA */
-		EUniversalPukRequired,
-	/** The Universal PUK unblocking procedure has passed.
-	
-	Modes: WCDMA */
-		EUniversalPukVerified
-		};
-
-	IMPORT_C void NotifySecurityEvent(TRequestStatus& aReqStatus, TMobilePhoneSecurityEvent& aEvent) const;
-
-	// for use by client-side API code and TSY only
-
-	struct TCodeAndUnblockCode
-		{
-		TMobilePassword iCode;
-		TMobilePassword iUnblockCode;
-		};	
-
-	IMPORT_C void VerifySecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType,
-		const TMobilePassword& aCode, const TMobilePassword& aUnblockCode) const;
-	IMPORT_C TInt AbortSecurityCode(TMobilePhoneSecurityCode aType) const;
-
-	/***********************************************************************************/	
-	// 
-	// MobileMessageWaiting
-	//
-	/***********************************************************************************/
-
-/** Display indicators. */
-	enum TMobilePhoneIndicatorDisplay
-		{
-	/** Display voicemail active. */
-		KDisplayVoicemailActive = 0x01,
-	/** Display fax active. */
-		KDisplayFaxActive = 0x02,
-	/** Display E-mail active. */
-		KDisplayEmailActive = 0x04,
-	/** Display other active. */
-		KDisplayOtherActive = 0x08,
-	/** Display Aux voicemail active. */
-		KDisplayAuxVoicemailActive = 0x10,
-	/** Display data active. */
-		KDisplayDataActive = 0x20
-		};
-
-	class TMobilePhoneMessageWaitingV1 : public TMultimodeType
-/** Message Waiting Indicators. See 3GPP TS 31 102.
-
-@see GetIccMessageWaitingIndicators()
-@see SetIccMessageWaitingIndicators()
-@see NotifyIccMessageWaitingIndicatorsChange() 
-*/
-		{
-	public:
-		IMPORT_C TMobilePhoneMessageWaitingV1();
-	public:
-	/** The flags for each indicator from TMobilePhoneIndicatorDisplay to specify whether 
-	the indicator should be displayed or not. E.g. Messages of the specified type are waiting.
-
-	Modes: Common */
-		TUint8	iDisplayStatus;
-	/** The number of voicemail messages waiting for the "main" voice line.
-	
-	Modes: Common */
-		TUint8	iVoiceMsgs;
-	/** The number of voicemail messages waiting for the "auxiliary" voice line.
-	
-	Modes: GSM */
-		TUint8	iAuxVoiceMsgs;
-	/** The number of messages waiting for the data line.
-	
-	Modes: Common */
-		TUint8	iDataMsgs;
-	/** The number of messages waiting for the fax line.
-	
-	Modes: Common */
-		TUint8	iFaxMsgs;
-	/** The number of email messages waiting.
-	
-	Modes: WCDMA */
-		TUint8	iEmailMsgs;
-	/** Contains the number of "unspecified" messages waiting.
-	
-	Modes: WCDMA */
-		TUint8	iOtherMsgs;
-		};
-
-/** A typedef'd packaged TMobilePhoneMessageWaitingV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobilePhoneMessageWaitingV1> TMobilePhoneMessageWaitingV1Pckg;
-
-	IMPORT_C void GetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const;
-	IMPORT_C void SetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, const TDesC8& aMsgIndicators) const;
-	IMPORT_C void NotifyIccMessageWaitingIndicatorsChange(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const;
-
-	IMPORT_C void NotifyMessageWaiting(TRequestStatus& aReqStatus, TInt& aCount) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Fixed Dialling Numbers Functional Unit
-	//
-	/***********************************************************************************/
-
-/** Fixed Dialling Numbers Status.
-
-Modes: Common */
-	enum TMobilePhoneFdnStatus
-		{
-	/** Fixed Dialling Number mode is supported but is not currently active. */
-		EFdnNotActive,
-	/** Fixed Dialling Number mode is supported and is currently active. Deactivating 
-	FDN mode is supported. */
-		EFdnActive,
-	/** Fixed Dialling Number mode is supported and is permanently active. Deactivating 
-	FDN mode is NOT supported with this SIM. */
-		EFdnPermanentlyActive,
-	/** Fixed Dialling Number mode is not supported by ME and/or SIM. */
-		EFdnNotSupported,
-	/** ME is currently unable to determine the status of FDN mode. */
-		EFdnUnknown
-		};
-
-	IMPORT_C TInt GetFdnStatus(TMobilePhoneFdnStatus& aFdnStatus) const;
-	IMPORT_C void GetFdnStatus(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const;
-
-/** Fixed Dialling Numbers Setting
-
-Modes: Common */
-	enum TMobilePhoneFdnSetting
-		{
-	/** Activate the FDN service. */
-		EFdnSetOn,
-	/** Deactivate the FDN service. */
-		EFdnSetOff
-		};
-
-	IMPORT_C void SetFdnSetting(TRequestStatus& aReqStatus, TMobilePhoneFdnSetting aFdnSetting) const;
-	IMPORT_C void NotifyFdnStatusChange(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const;
-
-	/***********************************************************************************/
-	//
-	// Multicall bearer settings
-	//
-	/***********************************************************************************/
-
-	class TMobilePhoneMulticallSettingsV1 : public TMultimodeType
-/** Multi call settings for version v1.0.
-
-@see GetMulticallParams()
-@see NotifyMulticallParamsChange() 
-@publishedPartner
-@released*/
-		{
-	public:
-		IMPORT_C TMobilePhoneMulticallSettingsV1();
-	public:
-	/** Maximum number of simultaneous CS bearers allowed - defined by the user. 
-	
-	Modes: WCDMA */
-		TInt iUserMaxBearers;
-	/** Maximum number of simultaneous bearers allowed - defined by the service provider.
-	
-	Modes: WCDMA */
-		TInt iServiceProviderMaxBearers;
-	/** Maximum number of simultaneous CS bearers supported by the network.
-	
-	Modes: WCDMA */
-		TInt iNetworkSupportedMaxBearers;
-	/** Maximum number of simultaneous CS bearers supported by the UE.
-	
-	Modes: WCDMA */
-		TInt iUESupportedMaxBearers;
-		};
-
-/** A typedef'd packaged TMobilePhoneMulticallSettingsV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobilePhoneMulticallSettingsV1> TMobilePhoneMulticallSettingsV1Pckg;
-
-	IMPORT_C void GetMulticallParams(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const;
-	IMPORT_C void SetMulticallParams(TRequestStatus& aReqStatus, TInt aUserMaxBearers) const;
-	IMPORT_C void NotifyMulticallParamsChange(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const;
-	
-	enum TMobilePhoneMulticallIndicator
-	/**
-	Indicators for exceeding allowed multiple active bearers.
-	*/
-		{
-		/** The maximum number of multiple active bearers allowed by the service provider has been exceeded. */
-		EBearerNetworProviderExceeded,
-		/** The maximum number of multiple active bearers allowed by the mobile user  has been exceeded. */
-		EBearerUserExceeded
-		};
-		
-	IMPORT_C void NotifyMulticallIndicatorChange(TRequestStatus& aReqStatus, TMobilePhoneMulticallIndicator& aMulticallIndicator) const;
-
-	/***********************************************************************************/
-	//
-	// MobileNextIncomingCall Functional Unit
-	//
-	/***********************************************************************************/
-
-/** Incoming Call Types.
-
-Modes: Common */
-	enum TMobilePhoneIncomingCallType
-		{
-	/** MS will receive any type of incoming call.
-	
-	Modes: Common */
-		EIncomingTypeNotSpecified,
-	/** MS will request voice bearer for incoming calls.
-	
-	Modes: Common */
-		EIncomingVoice,
-	/** MS will request fax bearer for incoming calls 
-	
-	Modes: Common */
-		EIncomingFax,
-	/** MS will request data bearer for incoming calls
-	
-	Modes: Common */
-		EIncomingData,
-	/** MS will request a data bearer for use by a Multimedia CS call (voice fall back 
-	is acceptable) for incoming calls.
-	
-	Modes: GSM/WCDMA */
-		EIncomingMultimediaVoiceFallback,
-	/** MS will request a data bearer for use by a Multimedia CS call (voice fall back 
-	NOT acceptable) for incoming calls 
-	
-	Modes: GSM/WCDMA */
-		EIncomingMultimediaNoFallback,
-	/** The single numbering scheme call mode is alternating voice to fax.
-	
-	Modes: GSM/WCDMA */
-		EIncomingAlternatingVoiceFax,
-	/** The single numbering scheme call mode is alternating voice to data.
-	
-	Modes: GSM */
-		EIncomingAlternatingVoiceData,
-	/** The single numbering scheme call mode is alternating fax to voice.
-	
-	Modes: GSM */
-		EIncomingAlternatingFaxVoice,
-	/** The single numbering scheme call mode is alternating data to voice.
-	
-	Modes: GSM */
-		EIncomingAlternatingDataVoice,
-	/** The single numbering scheme call mode is alternating voice then data.
-	
-	Modes: GSM */
-		EIncomingAlternatingVoiceThenData
-		};
-
-	IMPORT_C void GetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const;
-	IMPORT_C void SetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType aCallType, TDes8& aDataParams) const;
-	IMPORT_C void NotifyIncomingCallTypeChange(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const;
-
-	/***********************************************************************************/
-	//
-	// User-To-User Signalling Functional Unit
-	//
-	/***********************************************************************************/
-
-/** UUS Settings Requests.
-
-Modes: GSM/WCDMA */
-	enum TMobilePhoneUUSSetting         // UUS settings of the phone
-		{
-	/** UUS is not specified. */
-		EIncomingUUSNotSpecified,
-	/** MS will accept incoming UUS activation request. */
-		EIncomingUUSAccepted,
-	/** MS will reject incoming UUS activation request. */
-		EIncomingUUSRejected
-		};
-
-	IMPORT_C void GetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const;
-	IMPORT_C void SetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting aSetting) const;
-	IMPORT_C void NotifyUUSSettingChange(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const;
-	
-	/***********************************************************************************/
-	//
-	// Mobile Smart Card Applications Functional Unit
-	//
-	/***********************************************************************************/
-	
-	
-	enum { KSmartCardApplicationLabelMaxSize=32 };
-	
-	/** Smart card application info version v5.0. 
-	Modes: Common
-
-	@see GetSmartCardApplicationInfo()
-	@publishedPartner
-	@released
-	*/
-	class TSmartCardApplicationInfoV5 : public TMultimodeType
-		{
-	public:
-		IMPORT_C TSmartCardApplicationInfoV5();
-	public:
-		/** 
-		Smart card application identifier.
-		*/
-		TAID iAID;
-		/** 
-		Smart card application label. 16 bit USC2 characters string provided by the application 
-		provider to be shown to the user for information, e.g. operator name. It is 
-		recommended by ETSI/3GPP spec that the application label does not exceed 32 
-		bytes.
-		
-		The application label is optional. If no label is provided, the buffer should 
-		be NULL.
-		 */
-		TBuf8<KSmartCardApplicationLabelMaxSize> iLabel;
-		};
-
-	/**
-	A typedef'd packaged TSmartCardApplicationInfoV5 for passing through a generic API 
-	function member. 
-	*/	
-	typedef TPckg<TSmartCardApplicationInfoV5> TSmartCardApplicationInfoV5Pckg;
-
-	/**
-	Specifies the max length of the buffer used to retrieve the smart
-	card application's supported EAP method list.  Value 255 since EAP
-	type list length fits into one byte (see table 5.1 of ETSI TS
-	102.310 v6.2.0).
-
-	@see RMobilePhone::GetSmartCardApplicationInfo()
-	@see RMobilePhone::TUiccApplicationEapInfoV6::iEapTypeList
-	*/
-	enum { KEapSupportedTypeListSize = 255 };
-
-	/**
-	UICC application info version v6.0.  Is a
-	TSmartCardApplicationInfoV5 object, but has an additional buffer
-	(iEapTypeList) for retrieving a list supported EAP methods on the
-	application.
-
-	Modes: GSM/WCDMA
-
-	@see RMobilePhone::GetSmartCardApplicationInfo()
-	@publishedPartner
-	@released
-	*/
-	class TUiccApplicationEapInfoV6 : public TSmartCardApplicationInfoV5
-		{
-	public:
-		IMPORT_C TUiccApplicationEapInfoV6();
-
-	public:
-		/**
-		Application EAP support type list, defining the EAP methods
-		supported by the UICC application (see RFC 3748 and
-		http://www.iana.org/assignments/eap-numbers).
-		
-		As reference, also worth seeing section 5.2 of ETSI TS 102.310
-		v6.2.0 and section 6.2 of RFC3748.
-
-		@see KETelSmartCardEapTypeMD5
-		@see KETelSmartCardEapTypeTLS
-		@see KETelSmartCardEapTypeSIM
-		@see KETelSmartCardEapTypeAKA
-		@see KETelSmartCardEapTypeTTLS
-		*/
-		TBuf8<KEapSupportedTypeListSize> iEapTypeList;	
-		};
-
-	/**
-	A typedef'd packaged TEapUiccApplicationInfoV6 for passing through
-	a generic API function member.
-
-	@see RMobilePhone::GetSmartCardApplicationInfo()
-	*/	
-	typedef TPckg<TUiccApplicationEapInfoV6> TUiccApplicationEapInfoV6Pckg;
-
-	/**
-	Smart card application notification events
-	
-	Modes: Common
-	*/	
-	enum TSmartCardApplicationEvent
-		{
-		/**
-		Smart card application has been installed.
-		*/
-		EScApplicationInstalled,
-		/**
-		Smart card application has been removed.
-		*/
-		EScApplicationRemoved,
-		/**
-		Smart card application has been activated.
-		*/
-		EScApplicationActivated,
-		/**
-		Smart card application has been terminated.
-		*/
-		EScApplicationTerminated
-		};
-
-	/**
-	Smart card application status.
-
-	Modes: Common
-	*/
-	enum TSmartCardApplicationAction
-		{
-		/**
-		Smart card application will be activated.
-		*/
-		EScApplicationActivate,
-		/** 
-		Smart card application will be terminated.
-		*/
-		EScTerminate
-		};
-
-	/**
-	Smart card application file types. For definitions see TS 102.221.
-	
-	Modes: Common
-	*/		
-	enum TScFileType
-		{
-		/**
-		Smart card file type is unknown.
-		*/
-		EUnknown,
-		/**
-		Smart card file type is linear fixed. 
-		
-		This is a record-based file.
-		*/
-		ELinearFixed,
-		/**
-		Smart card file type is cyclic. 
-		
-		This is a record-based file.
-		*/
-		ECyclic,
-		/**
-		Smart card file type is transparent. 
-		
-		This is a binary file.
-		*/
-		ETransparent
-		};
-
-	/**
-	Typedef to hold a 2-byte file identifier.
-	*/
-	typedef TUint16 TScFileID;
-
-	/** Smart card application file info version v5.0.
-	Modes: Common
-
-	@see GetScFileInfo()
-	@publishedPartner
-	@released
-	*/
-	class TScFileInfoV5 : public TMultimodeType
-		{
-	public:
-		IMPORT_C TScFileInfoV5();
-	public:
-		/**
-		Smart card file identifier.
-		*/
-		TScFileID iFileID;
-		/**
-		The type of the smart card file. Options are
-		Linear Fixed, Cyclic or Transparent.
-		*/
-		TScFileType iType;
-		/**
-		Total length of the file.  As specified in TS 102.221 the maximum length of an EF is 0xFFF bytes.
-		*/
-		TInt iTotalLength;
-		/**
-		If the file is a record based file (e.g. file type is ELinearFixed or ECyclic) then this gives the fixed length of a record in the file.
-		If file type is ETransparent then this value is unused and will be set to 0. 
-		
-		From TS 102.221 the maximum length of a record in an EF is 255 bytes.
-		*/
-		TInt iRecordLength;
-		/**
-		If the file is a record based file (e.g. file type is ELinearFixed or ECyclic) then this gives the number of records in the file.
-		If file type is ETransparent then this value is unused and will be set to 0. 
-		
-		From TS 102.221 the maximum number of records in an EF is 254.
-		*/
-		TInt iNumberRecords;
-		};
-	
-	
-	/** A typedef'd packaged TScFileInfoV5 for passing through a generic API 
-	function member. 
-	*/
-	typedef TPckg<TScFileInfoV5> TScFileInfoV5Pckg;
-	
-	/**
-	This based on the maximum number of bytes in a command PDU 
-	as defined in TS 102.221 however the actual path string is very unlikely to ever be this big.
-	
-	Modes: Common
-	*/
-	enum{ KMaxScFilePathLength = 256};
-	
-	/**
-	A typedef'd buffer to hold the path to an EF file.  
-	*/
-	typedef TBuf8<KMaxScFilePathLength> TScFilePathReference;
-	
-	
-	 /** 
-	 Class that holds a smart card applications AID and associated file path string.
-
-	 Modes: Common
-
-	 @see GetScFileInfo()
-	 @publishedPartner
-	 @released
-	 */
-	 class TScFilePath
-		{
-	 public:
-		IMPORT_C TScFilePath();
-     public:
-     	/** 
-     	AID of application. This may be empty implying the iPath is a path reference starting at the master file (MF).
-     	*/
-		TAID iAID;
-		/**
-		Full path reference to file.  
-		
-		The iPath must define the file path using full path referencing. This is because the client does not know 
-		what is the currently selected EF or DF and it is therefore necessary to select the file by full
-		path referencing from the master file.  
-		
-		If iAID value is empty then the iPath reference starts from the MF file but should not include the file ID of the MF (3F00) itself.
-		E.g. To reference the EF_DIR - iAID would be empty and iPath would be set to "2F00".
-		E.g. To refefence the EF_SMS under DF_TELECOM on a 2G SIM ICC - iAID would be empty and iPath would be set to "7F106F3C".
-		
-		If iAID is non-empty then it refers to the AID of the application and iPath is a path reference to a file in that application,
-		In this situation the path reference may start with the implicit FID of the application DF (7FFF).  
-		E.g.  The path to reference to the EF_SMS file in a USIM application using implicit ADF FID would 
-		be "7FFF6F3C".
-		
-		See TS102.221 section 8.4.2 for more information.  
-		*/
-		TScFilePathReference iPath;
-		};
-		
-	/** Smart card application file identifier and access offsets.  This class is used to identify a file and the 
-	location in a file to either read or write. Inherits attributes from TScFilePath which provide the 
-	parent AID and full path reference.
-	
-	Modes: Common
-
-	@see TScFilePath
-	@see ReadScFile()
-	@see UpdateScFile()
-	@publishedPartner
-	@released
-	*/
-	class TScFilePathWithAccessOffsets : public TScFilePath
-		{
-	public:
-		IMPORT_C TScFilePathWithAccessOffsets();
-	public:
-		/**
-		The type of the smart card file. Options are
-		Linear Fixed, Cyclic or Transparent.
-		*/
-		TScFileType iType;
-		/**
-		If file type is ELinearFixed or ECyclic then this is the starting record index to read or update.
-		This must be less than the number of records in the file.
-
-		If file type is ETransparent then this is the offset (in bytes) from the start of the transparent file to read or update.
-		This must be less than the total file size.
-		*/
-		TUint iStartOffset;
-		/**
-		If the file type is ELinearFixed or ECyclic then this is unused.
-		NOTE: A call to ReadScFile or UpdateScFile for a record based file type will only read or update
-		one record as described in TS 102.221 READ RECORD and UPDATE RECORD.
-
-		If file type is ETransparent then this is the number of bytes to read or update.
-		*/
-		TUint iCount;
-		};
-
-	IMPORT_C void EnumerateSmartCardApplications(TRequestStatus& aReqStatus, TUint& aCount) const;
-	IMPORT_C void GetSmartCardApplicationInfo(TRequestStatus& aReqStatus, TUint aAppIndex, TDes8& aInfo) const;
-	IMPORT_C void NotifySmartCardApplicationInfoChange(TRequestStatus& aReqStatus, TAID& aAID, TSmartCardApplicationEvent& aEvent) const;
-	IMPORT_C void SetSmartCardApplicationStatus(TRequestStatus& aReqStatus, const TAID& aAID, TSmartCardApplicationAction aAppAction) const;
-	IMPORT_C void GetScFileInfo(TRequestStatus& aReqStatus, const TScFilePath& aFilePathId, TDes8& aInfo) const;
-	IMPORT_C void ReadScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aReadBuffer) const;
-	IMPORT_C void UpdateScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aUpdateBuffer) const;
-	
-	/***********************************************************************************/
-	//
-	// Mobile USIM Applications Functional Unit
-	//
-	/***********************************************************************************/
-
-	enum { KUSimApplicationLabelMaxSize=32 };
-
-	IMPORT_C void EnumerateUSimApplications(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1
-
-	class TUSimApplicationInfoV2 : public TMultimodeType
-	/** USIM application information for version v2.0. 
-		
-	@deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead.
-	*/
-		{
-	public:
-		IMPORT_C TUSimApplicationInfoV2();
-	public:
-	/** USIM Application identifier.
-
-	Modes: WCDMA */
-		TAID								iAID;
-	/** USIM Application label. 16 bit USC2 characters string provided by the application 
-	provider to be shown to the user for information, e.g. operator name. It is 
-	recommended by ETSI/3GPP spec that the application label does not exceed 32 
-	bytes.
-	
-	The application label is optional. If no label is provided, the buffer should 
-	be NULL.
-	
-	Modes: WCDMA */
-		TBuf8<KUSimApplicationLabelMaxSize> iLabel; 
-	};
-
-	/** A typedef'd packaged TUSimApplicationInfoV2 for passing through a generic API 
-	function member. 
-
-	@deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead.
-	*/
-	typedef TPckg<TUSimApplicationInfoV2> TUSimApplicationInfoV2Pckg;
-
-	IMPORT_C void GetUSimApplicationInfo(TRequestStatus& aReqStatus, TInt aUSimAppIndex, TDes8& aInfo) const; //deprecated 9.1
-	IMPORT_C void NotifyUSimApplicationsInfoChange(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1
-
-	/** USIM Application Status.
-
-	Modes: WCDMA 
-
-	@deprecated 9.1 Use @see TSmartCardApplicationAction instead.
-	*/
-	enum TUSimAppAction
-		{
-	/** USIM application will be activated.
-	
-	Modes: WCDMA */
-		EUSimActivate,
-	/** USIM application will be terminated.
-	
-	Modes: WCDMA */
-		EUSimTerminate
-		};
-
-	IMPORT_C void SetUSimApplicationStatus(TRequestStatus& aReqStatus, const TAID aAID, TUSimAppAction aUsimAppAction) const; //deprecated 9.1
-
-	/** USIM Application selection mode.
-
-	Mode: WCDMA */
-	enum TUSimSelectionMode
-		{
-	/** USIM application is selected automatically by phone.
-	
-	Mode: WCDMA */
-		EUSimSelectionAutomatic,
-	/** USIM application is selected manually by user.
-	
-	Mode: WCDMA */
-		EUSimSelectionManual
-		};
-
-	IMPORT_C TInt SetUSimAppsSelectionMode(TUSimSelectionMode aUSimSelectionMode) const;
-	IMPORT_C TInt GetUSimAppsSelectionMode(TUSimSelectionMode& aUSimSelectionMode) const;
-	IMPORT_C void NotifyUSimAppsSelectionModeChange(TRequestStatus& aReqStatus, TUSimSelectionMode& aUSimSelectionMode) const;
-	IMPORT_C void GetCurrentActiveUSimApplication(TRequestStatus& aReqStatus, TAID& aAID) const;
-	
-	/***********************************************************************************/
-	//
-	// Mobile MMS Functional Unit
-	// 
-	/***********************************************************************************/
-	
-	/** max size of MMS notification buffer. */
-	enum{KMaxMmsNotification = 253};
-	
-	/**
-	Identifies current status of MMS.
-	*/
-	enum TMmsStatus
-		{
-		/**
-		The MMS has not been retrieved.
-		*/
-		EMmsNotRetrieved,
-		/**
-	    The MMS has been retrieved.
-	    */
-		EMmsRetrieved,
-		/**
-		The MMS has been rejected.
-		*/
-		EMmsRejected,
-		/**
-		The MMS has been forwarded.
-		*/
-		EMmsforwarded
-		};
-
-	/** 
-	MMS Implementation.
-	*/
-	enum TMmsImplementation
-		{
-		/**
-		Unknown implementation for MMS.
-		*/
-		KMmsImplUnknwown=0x00,
-		/**
-		Wap implementation for MMS.
-		*/
-		KWapImplementation=0x01
-		};
-	
-	/**
-	MMS Connectivity settings.
-	*/
-	enum TMmsConnParams
-		{
-		/**
-		MMS User Preferences.
-		*/
-		EUserPreferences,
-		/**
-		MMS Issuer Connectivity Parameters.
-		*/
-		EIssuerConnParams,
-		/**
-		MMS User Connectivity Parameters.
-		*/
-		EUserConnParams
-		};
-
-	/**
-	MMS field Id tags.
-	*/
-	enum TMobileMMSFieldTags
-		{
-		/**
-		Tag id for MMS connectivity parameters.
-		*/
-		ETagMmsConnParams=0xAB,
-		/**
-		Tag id for MMS Implementation.
-		*/
-		ETagMmsImpl=0x80,
-		/**
-		Tag id for MMS Relay/Server.
-		*/
-		ETagMmsServer=0x81,
-		/**
-		Tag id for Interface to Core Network and Bearer.
-		*/
-		ETagMmsBearerIE=0x82,
-		/**
-		Tag id for Gateway.
-		*/
-		ETagMmsGateway=0x83 	  
-		};
-		
-	class TMmsNotificationV3 : public TMultimodeType
-	/**
-	Class containing MMS notification paramters.
-	*/
-		{
-		public :
-			IMPORT_C TMmsNotificationV3();
-		public :
-			/**
-			Free/Used space.
-			*/
-			TBool iSpace;
-			/**
-			Notification read/not read.
-			*/
-			TBool iNotification;
-			/**
-			MMS status.
-			*/
-			TMmsStatus iMmsStatus;
-			/**
-			MMS implementation.
-			*/
-			TMmsImplementation iImplementation;
-			/**
-			MMS notification buffer.
-			*/
-			TBuf8<KMaxMmsNotification> iNotify;
-		};
-	
-	typedef TPckg<TMmsNotificationV3> TMmsNotificationV3Pckg;
-
-	//	MMS notification 	
-	IMPORT_C void NotifyMmsUpdate(TRequestStatus& aReqStatus, TDes8& aNotification) const;
-	IMPORT_C void SetMmsUserConnParams(TRequestStatus& aReqStatus, TDes8& aConnectivity) const;
-	IMPORT_C void SetMmsUserPreferences(TRequestStatus& aReqStatus, TDes8& aPreferences) const;
-	IMPORT_C void GetMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const;
-	IMPORT_C void NotifyMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const;
-	
-	/***********************************************************************************/
-	//
-	// Mobile MailBox Numbers Functional Unit 
-	// 
-	/***********************************************************************************/
-
-	class TMobilePhoneVoicemailIdsV3 : public TMultimodeType
-	/**
-	Contains mailbox numbers.
-	*/
-		{
-		public :
-			IMPORT_C TMobilePhoneVoicemailIdsV3();
-		public :
-			/**
-			Phonebook entry for "voicemail" mailbox number.
-			*/
-			TUint8	iVoice;
-			/** 
-			Phonebook entry for "data" mailbox number.
-			*/
-			TUint8	iData;
-			/**
-			Phonebook entry for "fax" mailbox number.
-			*/
-			TUint8	iFax;
-			/**
-			Phonebook entry for "other" mailbox number.
-			*/
-			TUint8	iOther;
-		};
-	
-	typedef TPckg<TMobilePhoneVoicemailIdsV3> TMobilePhoneVoicemailIdsV3Pckg;
-
-	IMPORT_C void GetMailboxNumbers(TRequestStatus& aReqStatus, TDes8& aMailBox) const;
-	IMPORT_C void NotifyMailboxNumbersChange(TRequestStatus& aReqStatus, TDes8& aMailBox) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile APN Control List Functional Unit
-	// 
-	/***********************************************************************************/	
-	
-	enum { KMaxApnName = 100 };
-	
-	class TAPNEntryV3 : public TMultimodeType
-	/**
-	Contains parameters for an Access Point Name (APN) entry contained 
-	within the Access Control List EFacl file in the UICC.
-	*/
-		{
-	public:
-		IMPORT_C TAPNEntryV3();
-	public:
-		/**
-		GGSN DNS name.
-		*/
-		TBuf8<KMaxApnName> iApn;		
-		};
-		
-	typedef TPckg<TAPNEntryV3> TAPNEntryV3Pckg;
-	
-	IMPORT_C void EnumerateAPNEntries(TRequestStatus& aReqStatus, TUint32 &aIndex) const;
-	IMPORT_C void GetAPNname(TRequestStatus& aReqStatus, const TUint32 aIndex, TDes8& aAPN) const;
-	IMPORT_C void AppendAPNName(TRequestStatus& aReqStatus, const TDes8& aAPN) const;
-	IMPORT_C void DeleteAPNName(TRequestStatus& aReqStatus, TUint32 aIndex) const; 
-	IMPORT_C void NotifyAPNListChanged(TRequestStatus& aReqStatus) const;
-
-	enum TAPNControlListServiceStatus {
-		/**
-		The APN control list service is disabled.
-		*/
-		EAPNControlListServiceDisabled,
-		/**
-		The APN control list service is enabled.
-		*/
-		EAPNControlListServiceEnabled
-	};
-
-	IMPORT_C void SetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus aAPNControlListServiceStatus) const;
-	IMPORT_C void GetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const;
-	IMPORT_C void NotifyAPNControlListServiceStatusChange(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const;
-
-	/***********************************************************************************/
-	//
-	// Retrieve Total Air Time Duration Functional Unit
-	//
-	/***********************************************************************************/
-	IMPORT_C TInt GetAirTimeDuration(TTimeIntervalSeconds& aTime) const;
-	IMPORT_C void NotifyAirTimeDurationChange(TRequestStatus& aReqStatus,TTimeIntervalSeconds& aTime) const;
-	/***********************************************************************************/
-	//
-	// Terminate All Calls
-	//
-	/***********************************************************************************/
-	IMPORT_C void TerminateAllCalls(TRequestStatus& aReqStatus) const;
-	
-	/***********************************************************************************/
-	//
-	// Auto Redial Functional Unit
-	//
-	/***********************************************************************************/
-	IMPORT_C void ClearBlacklist(TRequestStatus& aReqStatus) const;
-
-	/***********************************************************************************/
-	//
-	// Mobile Personalisation Functional Unit
-	//
-	/***********************************************************************************/
-	
-	/**
-	Indentifies the personalisation scheme capabilities of the UICC/ME.
-	*/
-	enum TMobilePhonePersonalisationCaps
-		{
-		/**
-		UICC/ME personalisation based on network (MCC, MNC) information is possible.
-		*/
-		KCapsPersonalisedNetwork=0x01,
-		/**
-		UICC/ME personalisation based on network (MCC, MNC, IMSI network code group) information is possible.
-		*/
-		KCapsPersonalisedNetworkSub=0x02,
-		/**
-		UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFCNL) information is possible.
-		*/
-		KCapsPersonalisedServiceProvider=0x04,
-		/**
-		UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFGID2, EFCNL) information is possible.
-		*/
-		KCapsPersonalisedCorporate=0x08,
-		/**
-		UICC/ME personalisation based on (IMSI SIM/USIM code group) information is possible.
-		*/
-		KCapsPersonalisedUSim=0x10
-		};
-		
-	/**
-	Identifies the current personalisation schemes that are active. 
-	*/
-	enum TMobilePhonePersonalisationScheme
-		{
-		/**
-		The ME is personalised under the network scheme.
-		*/
-		KPersonalisedNetwork=0x01,
-		/**
-		The ME is personalised under the network sub scheme.
-		*/
-		KPersonalisedNetworkSub=0x02,
-		/**
-		The ME is personalised under the service provider scheme.
-		*/
-		KPersonalisedServiceProvider=0x04,
-		/**
-		The ME is personalised under the corprorate scheme.
-		*/
-		KPersonalisedCorporate=0x08,
-		/**
-		The ME is personalised under the  SIM/USIM scheme.
-		*/
-		KPersonalisedUSim=0x10	
-		};
-
-	/**
-	Identifies the personalisation scheme to be set.
-	*/
-	enum TMobilePhonePersonalisation
-		{
-		/**
-		Personalise the ME using the network scheme.
-		*/
-		EPersonaliseNetwork,
-		/**
-		Personalise the ME using the network sub scheme.
-		*/
-		EPersonaliseNetworkSub,
-		/**
-		Personalise the ME using the service provider scheme.
-		*/
-		EPersonaliseServiceProvider,
-		/**
-		Personalise the ME using the corporate scheme.
-		*/
-		EPersonaliseCorporate,
-		/**
-		Personalise the ME using the SIM/USIM scheme.
-		*/
-		EPersonaliseUsim
-		};
-		
-	IMPORT_C TInt GetPersonalisationCaps(TUint32& aCaps) const;
-	IMPORT_C void GetPersonalisationStatus(TRequestStatus& aReqStatus, TUint32& aPersSchemes) const;
-	IMPORT_C void SetPersonalisationStatus(TRequestStatus& aReqStatus, const TMobilePhonePersonalisation aPersSchemes, const TDes& aPersCode) const;
-	
-	/***********************************************************************************/
-	//
-	// Etel 3rd Party v1.0 Parameter classes
-	//
-	/***********************************************************************************/
-	
-	class TEtel3rdPartyMobileNetworkInfoV1 : public TMultimodeType
-	/**
-	Defines the parameters used to set-up of a call originated from an ETel 3rd Party client.
-
-	TEtel3rdPartyMobileNetworkInfoV1 was used to give an indication to the TSY of where the
-	request was originating from; i.e. if the request is from an application using the ISV
-	API or ETel API, which allowed the TSY to make a decision based on the origin.  This
-	data type also provided further protection by not including any location information
-	parameters.  With PlatSec being introduced in v9.0, there was no need to use this data
-	structure, as each API is policed with the adequate PlatSec capabilities.  Therefore,
-	in v9.0 TEtel3rdPartyMobileNetworkInfoV1 was deprecated and removed from the ETel ISV
-	(ETel3rdParty) implementation.
-
-	TEtel3rdPartyMobileNetworkInfoV1 was only used internally by the ETel ISV API when calls
-	are made to RMobilePhone::GetCurrentNetwork or RMobilePhone::NotifyCurrentNetworkChange.
-	The TSY no longer needs to support this as ETel ISV now uses the TMobilePhoneNetworkInfoV2
-	data structure and no distinction is required for ISV Apps.
-
-	@publishedPartner
-	@deprecated 9.0 This class has been deprecated from 9.0 and should no longer be used.
-	*/
-		{
-	public:
-		IMPORT_C TEtel3rdPartyMobileNetworkInfoV1();
-	public:
-	/** Mode of the network.
-	Modes: Common
-	
-	@see TMobilePhoneNetworkMode */
-		TMobilePhoneNetworkMode iMode;
-	/** Status of the network
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkStatus */
-		TMobilePhoneNetworkStatus iStatus;
-	/** The band and band class of the CDMA network operator.
-	
-	Modes: CDMA
-	
-	@see TMobilePhoneNetworkBandInfo */
-		TMobilePhoneNetworkBandInfo iBandInfo;
-	/** The MCC of the network.
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkCountryCode */
-		TMobilePhoneNetworkCountryCode iCountryCode;
-	/** The system identity (SID) of the CDMA network or the system identity (SID) of the AMPS network.
-	
-	Modes: CDMA
-
-	@see TMobilePhoneNetworkIdentity */
-		TMobilePhoneNetworkIdentity iCdmaSID;
-	/** The network identity (NID in CDMA and MNC in GSM).
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkIdentity */
-		TMobilePhoneNetworkIdentity iNetworkId;
-	/** The alpha-tag displayed when this is the serving network.
-	
-	Modes: Common
-	
-	@see TMobilePhoneNetworkDisplayTag */
-		TMobilePhoneNetworkDisplayTag iDisplayTag;
-	/** The short name (up to 10 characters) of the network operator.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobilePhoneNetworkShortName */
-		TMobilePhoneNetworkShortName iShortName;
-	/** The long name (up to 20 characters) of the network operator.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobilePhoneNetworkLongName */
-		TMobilePhoneNetworkLongName iLongName;
-	/** The type of network access.
-	
-	@see TMobilePhoneNetworkAccess */
-		TMobilePhoneNetworkAccess iAccess;
-		};
-
-/** A typedef'd packaged TEtel3rdPartyMobileNetworkInfoV1 for passing through a generic
-API function member.
-
-@deprecated 9.0
-*/
-	typedef TPckg<TEtel3rdPartyMobileNetworkInfoV1>  TEtel3rdPartyMobileNetworkInfoV1Pckg;
-
-	/** IMS Authenticate constants,in accordance to 3GPP TS 33.102,
-	section 6.3.7, and RFC 3310*/
-	enum TMobilePhoneAuthenticate
-		{
-		/** length of autn is 128bits - 16octets*/
-		KAutnLength=16,
-		/** length of RAND is 16 octets */
-		KRandLength=16,
-		/** length of RES is 16 octets*/
-		KResLength=16,
-		/** length of IK is 16 octets*/
-		KIkLength=16,
-		/** length of CK is 16 octets*/
-		KCkLength=16,
-		/** length of Kc (GSM cipher key) is 8 octets*/
-		KKcLength=8,
-		/** length of is 112 bits - 14 octets */
-		KAutsLength=14,
-		};
-
-	/** Maximum size of the record in an EF is 0xff( 255 bytes) according to TS 102.221, section 8.2.2.2
-	*/
-	enum TMobilePhoneRelease5EFMaxSize
-	{
-	 KRelease5EFMaxSize=255,
-	};
-	
-	/** typedefs for encapsulation of the buffers that hold authorization data stored on the ISIM/USIM*/
-	/** typedef for Internet Multimedia Public Identity*/	
-	typedef TBuf8<KRelease5EFMaxSize> TIMPU;
-	/** typedef for Internet Multimedia Private Identity*/
-	typedef TBuf8<KRelease5EFMaxSize> TIMPI;
-	/** typedef for Home Network Domain Name*/
-	typedef TBuf8<KRelease5EFMaxSize> THNDN;
-
-
-	/** IMS Authenticate API*/
-	/** Class encapsulates data needed as an input/output for
-	ISIM/USIM AUTHENTICATE command
-	
-	@publishedPartner
-	@released
-	*/
-	class TImsAuthenticateDataV5: public TMultimodeType
-		{
-	public:
-		IMPORT_C TImsAuthenticateDataV5();
-		/** holds value of network challenge AUTN */
-		TBuf8<KAutnLength> iAUTN;
-		/** holds value of network challenge RAND */
-		TBuf8<KRandLength> iRAND;
-		/** holds result RES of AUTHENTICATE command when it's successfull*/
-		TBuf8<KResLength> iRES;
-		/** holds value of session key Integrity Key */
-		TBuf8<KIkLength> iIK;
-		/** holds value of session key Cipher Key */
-		TBuf8<KCkLength> iCK;
-		/** holds value of Authentication Token when  AUTHENTICATE fails*/
-		TBuf8<KAutsLength> iAUTS;
-		};
-
-	/** packaged version of TImsAuthenticateDataV5, used when this structure has to be passeed via IPC*/
-	typedef TPckg<TImsAuthenticateDataV5> TImsAuthenticateDataV5Pckg;
-	friend class CAsyncRetrieveAuthorizationInfo;
-
-	/** API that execute ISIM/USIM AUTHENTICATE command*/
-	IMPORT_C void ImsAuthenticate (TRequestStatus& aReqStatus,TDes8& authenticateDataPckgd) const;
-
-	IMPORT_C void NotifyImsAuthorizationInfoChange(TRequestStatus& aReqStatus) const;
-
-	/**
-	Source location of IMS Authorization data.
-	*/
-	enum TAuthorizationDataSource
-		{
-		/** Authorization data source is USIM. */
-		EFromUSIM,
-		/** Authorization data source is ISIM. */
-		EFromISIM
-		};
-
-	/** 
-	Class encapsulates IMS authorization data stored in the ISIM or USIM
-
-	@publishedPartner
-	@released
-	*/
-	class CImsAuthorizationInfoV5 : public CBase	
-		{
-	public:
-		IMPORT_C ~CImsAuthorizationInfoV5();
-		IMPORT_C static CImsAuthorizationInfoV5* NewL();
-		IMPORT_C virtual void ExternalizeL(HBufC8*& aBuffer);
-		IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer);
-		IMPORT_C TUint ExtensionId() const;
-	public:
-		/**Internet Multimedia Private Identity stored on the ISIM/USIM*/
-		RMobilePhone::TIMPI iIMPI;
-		/**Internet Multimedia Public Identity(ies) stored on the ISIM/USIM*/
-		RArray<RMobilePhone::TIMPU> iIMPUArray;
-		/**Home Network Domain Name stored on the ISIM/USIM*/
-		RMobilePhone::THNDN iHomeNetworkDomainName;
-		/**indicates whether authorization data has been retrieved from the ISIM*/
-		TAuthorizationDataSource iAuthenticationDataSource;
-	protected:
-		CImsAuthorizationInfoV5();
-		/** version of the data supported*/
-		TUint iExtensionId;
-		};
-		
-	/**	
-	Defines the input as well as the ouput parameters used when performing the
-	(U)ICC AUTHENTICATE command.
-
-	@publishedPartner
-	@released
-    */
-	class TSmartCardAuthenticateDataV6 : public TImsAuthenticateDataV5
-		{
-	public:
-		IMPORT_C TSmartCardAuthenticateDataV6();
-
-	public:
-		TBuf8<KKcLength> iKc;
-		};
-
-	/**
-	Packaged version of TSmartCardAuthenticateDataV6, used when this
-	structure has to be passeed via IPC.
-	*/
-	typedef TPckg<TSmartCardAuthenticateDataV6> TSmartCardAuthenticateDataV6Pckg;
-
-	IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, TDes8& aAuthDataPckgd) const;
-	IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, const TAID& aAID, TDes8& aAuthDataPckgd) const;
-
-private:
-	CMobilePhonePtrHolder* iMmPtrHolder;
-	RMobilePhone(const RMobilePhone& aPhone);
-
-protected:
-	IMPORT_C void ConstructL();
-	IMPORT_C void Destruct();
-	};
-
-
-/*********************************************************/
-//
-// Phone Storage functionality (RMobilePhoneStore)
-//
-/*********************************************************/
-
-
-
-class CMobilePhoneStorePtrHolder;
-class RMobilePhoneStore : public RTelSubSessionBase
-/**
-Abstract class used to define common phone storage actions and types
-
-Clients open one of the specialised phone store classes that are derived from RMobilePhoneStore
-*/
-	{
-public:
-	friend class CAsyncRetrieveStoreList;
-
-/** Types of store.
-
-Modes: Common */
-	enum TMobilePhoneStoreType
-		{
-	/** Store type is unknown.
-	
-	Modes: Common */
-		EPhoneStoreTypeUnknown,
-	/** Store contains SMS messages.
-	
-	Modes: Common */
-		EShortMessageStore,
-	/** Store contains NAM entries.
-	
-	Modes: CDMA */
-		ENamStore,
-	/** Store contains PhoneBook entries.
-	
-	Modes: Common */
-		EPhoneBookStore,
-	/** Store contains emergency number entries.
-	
-	Modes: Common */
-		EEmergencyNumberStore,
-	/** Store contains own number entries.
-
-	Modes: Common */
-		EOwnNumberStore
-		};
-
-/** Store capabilities. */
-	enum TMobilePhoneStoreCaps
-		{
-	/** The store can be accessed as a whole using the ReadAll() and StoreAll() member
-	functions. */
-		KCapsWholeStore			= 0x80000000,
-	/** The store can be accessed one entry at a time using the RMobilePhoneStore::Read(), 
-	RMobilePhoneStore::Write() and RMobilePhoneStore::Delete() member functions. */
-		KCapsIndividualEntry	= 0x40000000,
-	/** The store can be accessed in order to read entries. */
-		KCapsReadAccess			= 0x20000000,
-	/** The store can be accessed in order to write or delete entries. */
-		KCapsWriteAccess		= 0x10000000,
-	/** The TSY supports deleting all the store entries at once. */
-		KCapsDeleteAll			= 0x08000000,
-	/** The TSY supports notification of store events such as entries added, deleted
-	or store becoming full. */
-		KCapsNotifyEvent		= 0x04000000
-		};
-
-/** The type of store information. As defined in TMobilePhoneStoreInfoV1::iExtensionId
-
-Modes: Common
-
-@see TMobilePhoneStoreInfoV1
-@see RMobilePhone::TMultimodeType */
-	enum TMobilePhoneStoreInfoExtId
-		{
-	/** The iExtensionId contents indicate that the packaged class is a RMobilePhoneStore::TMobilePhoneStoreInfoV1.
-	Modes: Common */
-		KETelMobilePhoneStoreV1=KETelExtMultimodeV1,
-	/** The iExtensionId contents indicate that the packaged class is a RMobilePhoneBookStore::TMobilePhoneBookInfoV1.
-	Modes: Common */
-		KETelMobilePhonebookStoreV1,
-	/** Reserved for SMS store specific information class.
-	Modes: Common */
-		KETelMobileSmsStoreV1,
-	/** The iExtensionId contents indicate that the packaged class is a RMobileNamStore::TMobileNamStoreInfoV1.
-	Modes: CDMA */
-		KETelMobileNamStoreV1,
-	/** The iExtensionId contents indicate that the packaged class is a RMobileONStore::TMobileONStoreInfoV1.
-	Modes: Common */
-		KETelMobileONStoreV1,
-	/** Reserved for Emergency Number store specific infoprmation class.
-	Modes: Common */
-		KETelMobileENStoreV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2.
-	Modes: Common */
-		KETelMobilePhonebookStoreV2=KETelExtMultimodeV2,
-		
-	/** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2.
- 	Modes: Common */
- 		KETelMobilePhonebookStoreV5=KEtelExtMultimodeV5
-		};
-
-
-
-	class TMobilePhoneStoreInfoV1 : public RMobilePhone::TMultimodeType
-/** Defines information and capabilities of a phone-side store.
-@publishedPartner
-@released */
-		{
-	public:
-		IMPORT_C TMobilePhoneStoreInfoV1();
-
-	/** The type of entry in the phone-side store. 
-	
-	Modes: Common
-
-	@see TMobilePhoneStoreType */
-		TMobilePhoneStoreType		iType;
-	/** Indicates the total number of entries that may be held in this store. */
-		TInt						iTotalEntries;
-	/** Indicates the current number of entries held in this store.
-	
-	Is equal to KIndexNotUsed if the TSY is unable to determine current number 
-	of entries.
-	
-	Modes: Common */
-		TInt						iUsedEntries;
-	/** Indicates the capabilities of the store. It is the sum of caps constants defined
-	in TMobilePhoneStoreCaps and those defined for a specialised phone store.
-	
-	Modes: Common */
-		TUint32						iCaps;
-	/** The name of the phone-side store. A valid list of names is given in the description 
-	of each specialised store. 
-	
-	Modes: Common
-
-	@see RMobilePhone::TMobileName */
-		RMobilePhone::TMobileName	iName;
-		};
-
-/** A typedef'd packaged TMobilePhoneStoreInfoV1 for passing through a generic
-API member function. */
-	typedef TPckg<TMobilePhoneStoreInfoV1> TMobilePhoneStoreInfoV1Pckg;
-
-	
-
-	class TMobilePhoneStoreEntryV1 : public RMobilePhone::TMultimodeType
-/** Defines common contents of an entry in a phone-side store. 
-*/
-		{
-	public:
-
-		enum
-			{
-			KIndexNotUsed = -1
-			};
-
-	protected:
-		TMobilePhoneStoreEntryV1();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-	/** The slot location of the entry within phone-side storage.
-	
-	Modes: Common */
-		TInt  iIndex;
-		};
-
-	IMPORT_C void GetInfo(TRequestStatus& aReqStatus, TDes8& aInfo) const;
-
-	IMPORT_C void Read(TRequestStatus& aReqStatus, TDes8& aEntry) const;
-	IMPORT_C void Write(TRequestStatus& aReqStatus, TDes8& aEntry) const;
-
-	IMPORT_C void Delete(TRequestStatus& aReqStatus, TInt aIndex) const;
-	IMPORT_C void DeleteAll(TRequestStatus& aReqStatus) const;
-
-/** The store events. It is possible for more than one event to occur at the same 
-time, therefore the events are a bitmask and should be tested as a bitmask.
-
-Modes: Common
-
-@see NotifyStoreEvent() */
-	enum TMobileStoreEvent
-		{
-	/** The store has become full. This event will trigger after the last possible 
-	entry in a store has been written. */
-		KStoreFull =0x00000001,
-	/** The store was full but now has some space. This event will trigger after one 
-	or more entries have been deleted from a full store. */
-		KStoreHasSpace =0x00000002,
-	/** The store is empty. This event will trigger after the last entry in a store 
-	has been deleted or if all entries are deleted at once. */
-		KStoreEmpty =0x00000004,
-	/** The store has a new entry, placed in the slot indicated by the aIndex parameter. */
-		KStoreEntryAdded =0x00000008,
-	/** The store has deleted the entry that was in the slot indicated by the aIndex 
-	parameter. */
-		KStoreEntryDeleted =0x00000010,
-	/** The store has changed the entry that was in the slot indicated by the aIndex 
-	parameter. */
-		KStoreEntryChanged =0x00000020,
-	/** The store contents have substantially changed and the TSY is recommending that 
-	the client performs a refresh by reading all the contents again. */
-		KStoreDoRefresh =0x00000040
-		};
-
-	IMPORT_C void NotifyStoreEvent(TRequestStatus& aReqStatus, TUint32& aEvent, TInt& aIndex) const;
-
-protected:
-	CMobilePhoneStorePtrHolder* iStorePtrHolder;
-
-protected:
-	RMobilePhoneStore();
-	IMPORT_C void BaseConstruct(CMobilePhoneStorePtrHolder* aPtrHolder);
-	IMPORT_C void Destruct();
-	};
-
-
-/*********************************************************/
-//
-// Call based functionality (RMobileCall)
-// 
-/*********************************************************/
-
-
-
-class CMobileCallPtrHolder;
-
-class RMobileCall : public RCall
-/** Provides access to the functionality associated with a specific mobile call.
-
-RMobileCall encapsulates access to a mobile phone. The functionality of RMobileCall 
-is divided into a number of functional units, for the purpose of easier documentation 
-and navigation and selectable support by TSY. 
-
-Note: Some RMobileCall function members must be supported by the TSY while 
-others are part of optional "functional unit" and only need to be supported
-if the TSY supports that functional unit. When a functional unit is mandatory 
-then the TSY should at least support the Get...Caps() member function to indicate 
-the member functions that are supported for this unit. 
- */
-	{
-public:
-	IMPORT_C RMobileCall();
-	/***********************************************************************************/
-	//
-	//  Mobile call parameters - used within Dial/Answer API
-	//
-	/***********************************************************************************/
-
-	// used to set iExtensionId in RCall::TCallParams
-/** The mobile call parameter extension IDs.
-
-Modes: Common */
-	enum TMobileCallParamsExtensionId
-		{
-	/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV1. */
-		KETelMobileCallParamsV1=KETelExtMultimodeV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV1.
-	
-	Modes: Common */
-		KETelMobileDataCallParamsV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV1.
-	
-	Modes: GSM/WCDMA */
-		KETelMobileHscsdCallParamsV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV2.
-	
-	Modes: Common */
-		KETelMobileCallParamsV2=KETelExtMultimodeV2,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV2.
-	
-	Modes: Common */
-		KETelMobileDataCallParamsV2,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV2.
-
-	Modes: GSM/WCDMA */
-		KETelMobileHscsdCallParamsV2,
-	/** The iExtensionId contents indicate that the packaged class is a TEtel3rdPartyMobileCallParamsV1. 
-	
-	Modes: Common */	
-		KETel3rdPartyCallParamsV1=KETelExt3rdPartyV1
-		};
-
-/** Caller Id restriction settings.
-
-Modes: Common
-
-@see TMobileCallParamsV1 */
-	enum TMobileCallIdRestriction
-		{
-	/** The default setting should be used if the user has not explicitly requested 
-	their identity to be restricted/allowed. */
-		EIdRestrictDefault,
-	/** The user has explicitly requested their identity to be sent for this call. */
-		ESendMyId,
-	/** The user has explicitly requested their identity not to be sent for this call. */
-		EDontSendMyId
-		};
-
-	class TMobileCallCugV1 : public RMobilePhone::TMultimodeType
-/** This class is used to set up a CUG (Closed User Group) call. 
-
-TMobileCallCugV1() is valid in GSM/WCDMA mode only. The client application 
-should set the CUG settings for the call depending on the user's choice. If
-the user has not explicitly requested a CUG call then this parameter should 
-indicate that explicit CUG invoke is false. The TSY ignores this parameter 
-if in CDMA mode. 
-*/
-		{
-	public:
-		IMPORT_C TMobileCallCugV1();
-	public:
-	/** A boolean indicating whether Closed User Group is being explicitly invoked by 
-	the client or not. If this parameter is false, the other entries in this structure 
-	will be ignored. */
-		TBool	iExplicitInvoke;
-	/** The Closed User Group index that the user has specified for this call (if no
-	index has been specified then this element will equal -1). */
-		TInt	iCugIndex;
-	/** A boolean indicating whether the user has suppressed their Outgoing Access option 
-	or not. */
-		TBool	iSuppressOA;
-	/** A boolean indicating whether the user has suppressed the use of their preferential 
-	Closed User Group or not. */
-		TBool	iSuppressPrefCug;
-		};
-	
-/** Multicall Operation set-up.
-
-Mode: WCDMA */
-	enum TMobileCallMulticallBearerMode
-		{
-	/** Multicall is not supported. */
-		EMulticallNotSupported,
-	/** MS will accept incoming call and establish a connection using an existing bearer. */
-		EMulticallShareBearer,
-	/** MS will accept incoming call and establish a connection by creating a new bearer. */
-		EMulticallNewBearer
-		};
-
-	
-
-	class TMobileCallParamsV1 : public RCall::TCallParams
-/** Defines the parameters used for set-up of a call of any type. 
-*/
-		{
-	public:
-		IMPORT_C TMobileCallParamsV1();
-	public:
-	/** Call Id restriction setting to be used for this call.
-
-	@see TMobileCallIdRestriction */
-		TMobileCallIdRestriction iIdRestrict;
-	/** Closed User Group setting to be used for this call.
-	
-	@see TMobileCallCugV1 */
-		TMobileCallCugV1 iCug;
-	/** Specifies whether this call attempt is user initiated (EFalse) or a client initiated 
-	redial (ETrue). */
-		TBool iAutoRedial;
-		};
-
-/** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API function 
-member. */
-	typedef TPckg<TMobileCallParamsV1> TMobileCallParamsV1Pckg;
-
-	
- 
- 	class TMobileCallParamsV2 : public TMobileCallParamsV1
-/** Defines the parameters used for set-up of a call of any type 
-for version v2.0 of the API.
-A new parameter (iBearerMode) is required to support Multicall.
-@publishedPartner
-@released 
-*/
- 		{
- 	public:
- 		IMPORT_C TMobileCallParamsV2();
- 	public:
-	/** The bearer mode. */
- 		TMobileCallMulticallBearerMode iBearerMode;
- 		};
- 
-/** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API 
-function member. */
- 	typedef TPckg<TMobileCallParamsV2> TMobileCallParamsV2Pckg;
- 
-	/***********************************************************************************/
-	//
-	// Mobile Call Data Functional Unit
-	//
-	/***********************************************************************************/
-
-/** In GSM mode, maps to list of supported speeds returned in response to AT+CBST=?. 
-In CDMA mode, maps to data rates supported by supported service options.
-
-@see TMobileCallDataCapsV1 */
-	enum TMobileCallDataSpeedCaps
-		{
-	/** Call can support autobauding. */
-		KCapsSpeedAutobauding = 0x00000001,
-	/** Call can support a speed of 2400bps. */
-		KCapsSpeed2400  = 0x00000002,
-	/** Call can support a speed of 4800bps. */
-		KCapsSpeed4800  = 0x00000004,
-	/** Call can support a speed of 9600bps. */
-		KCapsSpeed9600  = 0x00000008,
-	/** Call can support a speed of 14400bps. */
-		KCapsSpeed14400 = 0x00000010,
-	/** Call can support a speed of 19200bps. */
-		KCapsSpeed19200 = 0x00000020,
-	/** Call can support a speed of 28800bps. */
-		KCapsSpeed28800 = 0x00000040,
-	/** Call can support a speed of 32000bps. */
-		KCapsSpeed32000 = 0x00000080,
-	/** Call can support a speed of 33600bps. */
-		KCapsSpeed33600 = 0x00000100,
-	/** Call can support a speed of 38400bps. */
-		KCapsSpeed38400 = 0x00000200,
-	/** Call can support a speed of 43200bps. */
-		KCapsSpeed43200 = 0x00000400,
-	/** Call can support a speed of 48000bps. */
-		KCapsSpeed48000 = 0x00000800,
-	/** Call can support a speed of 56000bps. */
-		KCapsSpeed56000 = 0x00001000,
-	/** Call can support a speed of 57600bps. */
-		KCapsSpeed57600 = 0x00002000,
-	/** Call can support a speed of 64000bps. */
-		KCapsSpeed64000 = 0x00004000,
-	/** Call can support extended data speed capabilities. This flag is reserved for 
-	future expansion of API and should always be set to zero. */
-		KCapsSpeedExtended = 0x80000000		
-		};
-
-/** List of supported values of the <speed> parameter returned in response to AT+CBST=?
-
-Not applicable to CDMA mode
-
-@see TMobileDataCallParamsV1 */
-	enum TMobileCallDataProtocolCaps
-		{
-	/** Call can support V.22bis standard
-	
-	Modes: COMMON */
-		KCapsProtocolV22bis = 0x00000001,
-	/** Call can support V.32 standard.
-	
-	Modes: COMMON */
-		KCapsProtocolV32 = 0x00000002,
-	/** Call can support V.34 standard.
-	
-	Modes: COMMON */
-		KCapsProtocolV34 = 0x00000004,
-	/** Call can support V.110 standard.
-	
-	Modes: GSM/WCDMA */
-		KCapsProtocolV110 = 0x00000008,
-	/** Call can support V.120 standard.
-	
-	Modes: GSM/WCDMA */
-		KCapsProtocolV120 = 0x00000010,
-	/** Call can support bit transparent service.
-	
-	Modes: GSM/WCDMA */
-		KCapsProtocolBitTransparent = 0x00000020,
-	/** Call can support X31 flag stuffing standard.
-	
-	Modes: GSM/WCDMA */
-		KCapsProtocolX31FlagStuffing = 0x00000040,
-	/** Call can support both PIAF standards (32000bps and 64000bps).
-	
-	Modes: GSM/WCDMA */
-		KCapsProtocolPIAFS = 0x00000080,
-	/** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN
-	with voice fallback.
-	
-	Modes: WCDMA */
-		KCapsPstnMultimediaVoiceFallback = 0x00000100,
-	/** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN
-	without voice fallback
-	
-	Modes: WCDMA */
-		KCapsPstnMultimedia = 0x00000200,
-	/** Call can support request for Multimedia protocol (3G-324M) over a call to ISDN 
-	(voice fallback not possible).
-	
-	Modes: WCDMA */
-		KCapsIsdnMultimedia = 0x00000400,
-	/** Call can support extended data carrier capabilities. This flag is reserved for 
-	future expansion and should always be set to zero for v1.0 of this API.
-	
-	Modes: COMMON */
-		KCapsProtocolExtended = 0x80000000
-		};
-
-/** In GSM mode, maps to list of supported <name> returned in response to AT+CBST=? 
-In CDMA mode, maps to supported service options.
-
-Modes: COMMON
-
-@see TMobileCallDataCapsV1 */
-	enum TMobileCallDataServiceCaps
-		{
-		KCapsDataCircuitAsynchronous = 0x00000001,
-		KCapsDataCircuitAsynchronousRDI = 0x00000002,
-		KCapsDataCircuitSynchronous = 0x00000004,
-		KCapsDataCircuitSynchronousRDI = 0x00000008,
-	/** Call can support "PAD Access (asynchronous) (UDI)".
-	
-	Modes: GSM/WCDMA */
-		KCapsPADAsyncUDI = 0x00000010,
-	/** Call can support "PAD Access (asynchronous) (RDI)"
-
-	Modes: GSM/WCDMA */
-		KCapsPADAsyncRDI = 0x00000020,
-	/** Call can support "Packet Access (synchronous) (UDI)" 
-	
-	Modes: GSM/WCDMA */
-		KCapsPacketAccessSyncUDI = 0x00000040,
-	/** Call can support "Packet Access (synchronous) (RDI)".
-
-	Modes: GSM/WCDMA */
-		KCapsPacketAccessSyncRDI = 0x00000080,
-	/** Call can support extended data service capabilities. This flag is reserved for 
-	future expansion of this API and should always be set to zero for v1.0 of 
-	this API.
-	
-	Modes: COMMON */
-		KCapsServiceExtended = 0x80000000
-		};
-
-/** Maps to list of supported <ce> returned in response to AT+CBST=?
-
-Not applicable to CDMA mode.
-
-@see TMobileCallDataCapsV1 */
-	enum TMobileCallDataQoSCaps
-		{
-	/** Call can support a request for "transparent only" connection. */
-		KCapsTransparent = 0x00000001,
-	/** Call can support a request for "non-transparent only" connection. */
-		KCapsNonTransparent = 0x00000002,
-	/** Call can support a request for "transparent preferred" connection. */
-		KCapsTransparentPreferred = 0x00000004,
-	/** Call can support a request for "non-transparent preferred" connection. */
-		KCapsNonTransparentPreferred = 0x00000008
-		};
-
-/** Supported Air Interface User Rates. */
-	enum TMobileCallAiurCodingCaps
-		{
-	/** Air interface user rate of 4.8k is supported. */
-		KCapsAiurCoding48 = 0x01,
-	/** Air interface user rate of 9.6k is supported. */
-		KCapsAiurCoding96 = 0x04,
-	/** Air interface user rate of 14.4k is supported. */
-		KCapsAiurCoding144 = 0x08
-		};
-
-/** HSCSD coding capabilities.
-
-Modes: GSM/WCDMA */
-	enum TMobileCallTchCodingsCaps
-		{
-	/** Call supports HSCSD coding on 4.8K full rate data traffic channel. */
-		KCapsTchCoding48  = 0x00000001,
-	/** Call supports HSCSD coding on 9.6K full rate data traffic channel. */
-		KCapsTchCoding96  = 0x00000004,
-	/** Call supports HSCSD coding on 14.4K full rate data traffic channel. */
-		KCapsTchCoding144 = 0x00000008,
-	/** Call supports HSCSD coding on 28.8K full rate data traffic channel (only possible 
-	when 14.4K is supported). */
-		KCapsTchCoding288 = 0x00000010,
-	/** Call supports HSCSD coding on 32.0K full rate data traffic channel (only possible 
-	in a two-timeslot configuration). */
-		KCapsTchCoding320 = 0x00000020,
-	/** Call supports HSCSD coding on 43.2K full rate data traffic channel (only possible 
-	when 14.4K is supported). */
-		KCapsTchCoding432 = 0x00000040
-		};
-
-/** The call asymmetry capabilities.
-
-Modes: GSM/WCDMA
-
-@see TMobileCallDataCapsV1 */
-	enum TMobileCallAsymmetryCaps
-		{
-	/** Call supports "No Preference" option for asymmetry bias of a Non-Transparent
-	ECSD call. */
-		KCapsAsymmetryNoPreference= 0x00000001,
-	/** Call supports "Downlink bias" option for asymmetry bias of a Non-Transparent 
-	ECSD call. 
-	
-	This means 8-PSK modulation is preferred downlink and GMSK modulation uplink. */
-		KCapsAsymmetryDownlink = 0x00000002,
-	/** Call supports "Uplink bias" option for asymmetry bias of a Non-Transparent ECSD 
-	call. 
-	
-	This means 8-PSK modulation is preferred uplink and GMSK modulation downlink. */
-		KCapsAsymmetryUplink = 0x00000004
-		};
-
-/** The supported Call RLP versions.
-
-Modes: GSM/WCDMA
-
-@see TMobileCallDataCapsV1 */
-	enum TMobileCallRLPVersionCaps
-		{
-	/** Call supports the single link, basic RLP version 0. */
-		KCapsRLPSingleLinkVersion0 = 0x00000001,
-	/** Call supports the single link, extended RLP version 1. */
-		KCapsRLPSingleLinkVersion1 = 0x00000002,
-	/** Call supports the multi link, RLP version 2. */
-		KCapsRLPMultiLinkVersion2  = 0x00000004
-		};
-
-/** The supported V42bis options.
-
-Modes: GSM/WCDMA
-
-@see TMobileCallDataCapsV1 */
-	enum TMobileCallV42bisCaps
-		{
-	/** Call supports V42bis compression in initiator-responder direction. */
-		KCapsV42bisTxDirection = 0x00000001,
-	/** Call supports V42bis compression in responder-initiator direction. */
-		KCapsV42bisRxDirection = 0x00000002,
-	/** Call supports V42bis compression in both directions. */
-		KCapsV42bisBothDirections = 0x00000004
-		};
-
-	
-
-	class TMobileCallDataCapsV1 : public RMobilePhone::TMultimodeType
-	/** Defines the capabilities of a circuit switched data call. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileCallDataCapsV1();
-	public:
-	/** Data speed capabilities - a bit wise sum of the caps defined in TMobileCallDataSpeedCaps. */
-		TUint32	iSpeedCaps;
-	/** Data protocol capabilities - a bit wise sum of the caps defined in TMobileCallDataProtocolCaps. */
-		TUint32	iProtocolCaps;
-	/** Data service capabilities - a bit wise sum of the caps defined in TMobileCallDataServiceCaps. */
-		TUint32	iServiceCaps;
-	/** Data QoS capabilities - a bit wise sum of the caps defined in TMobileCallDataQoSCaps.
-	
-	Note: Only available in GSM/WCDMA mode. */
-		TUint32	iQoSCaps;
-	/** A boolean indicating whether or not the MS supports HSCSD for this call. If 
-	this attribute equals EFalse all the following attributes are invalid.
-
-	Note: Only available in GSM/WCDMA mode. */
-		TBool	iHscsdSupport;
-	/** For HSCSD: The multi-slot class supported. */
-		TInt	iMClass;
-	/** For HSCSD: The maximum supported number of time-slots in the receive (down-link) 
-	direction. */
-		TInt	iMaxRxTimeSlots;
-	/** For HSCSD: The maximum supported number of time-slots in the transmit (up-link) 
-	direction. */
-		TInt	iMaxTxTimeSlots;
-	/** For HSCSD: The maximum supported total number of receive and transmit time-slots 
-	that can be used at same time. */
-		TInt	iTotalRxTxTimeSlots;
-	/** For HSCSD: A bit-wise sum of the supported air interface channel codings defined 
-	in TMobileCallAiurCodingCaps. */
-		TUint32	iCodingCaps;
-	/** For HSCSD: A bit-wise sum of the supported asymmetry bias defined in TMobileCallAsymmetryCaps. */
-		TUint32 iAsymmetryCaps;
-	/** For HSCSD: A boolean indicating whether or not the MS supports automatic user 
-	initiated service level upgrading. */
-		TBool 	iUserInitUpgrade;
-	/** For HSCSD and CSD: A bit-wise sum of the supported Radio Link Protocol versions 
-	defined in TMobileCallRLPVersionCaps. */
-		TUint32	iRLPVersionCaps;
-	/** For HSCSD and CSD: A bit-wise sum of the supported V42bis compression capabilities 
-	defined in TMobileCallV42bisCaps . */
-		TUint32	iV42bisCaps;
-		};
-
-/** A typedef'd packaged TMobileCallDataCapsV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobileCallDataCapsV1> TMobileCallDataCapsV1Pckg;
-
-	IMPORT_C TInt GetMobileDataCallCaps(TDes8& aCaps) const;
-	IMPORT_C void NotifyMobileDataCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const;
-
-/** The call setup requested data speed.
-
-@see TMobileDataCallParamsV1 */
-	enum TMobileCallDataSpeed
-		{
-	/** Call set-up will request speed depending on data carrier chosen. */
-		ESpeedUnspecified,
-	/** Call set-up will request autobauding. */
-		ESpeedAutobauding,
-	/** Call set-up will request 2400bps. */
-		ESpeed2400,
-	/** Call set-up will request 4800bps. */
-		ESpeed4800,
-	/** Call set-up will request 9600bps. */
-		ESpeed9600,
-	/** Call set-up will request 14400bps. */
-		ESpeed14400,
-	/** Call set-up will request 19200bps. */
-		ESpeed19200,
-	/** Call set-up will request 28800bps. */
-		ESpeed28800,
-	/** Call set-up will request 32000bps. */
-		ESpeed32000,
-	/** Call set-up will request 33600bps. */
-		ESpeed33600,
-	/** Call set-up will request 38400bps. */
-		ESpeed38400,
-	/** Call set-up will request 43200bps. */
-		ESpeed43200,
-	/** Call set-up will request 48000bps. */
-		ESpeed48000,
-	/** Call set-up will request 56000bps. */
-		ESpeed56000,
-	/** Call set-up will request 57600bps. */
-		ESpeed57600,
-	/** Call set-up will request 64000bps. */
-		ESpeed64000
-		};
-
-/** The call set-up requested data protocol.
-
-Modes: GSM/WCDMA */
-	enum TMobileCallDataProtocol
-		{
-	/** Call set-up will request carrier depending on data speed chosen. */
-		EProtocolUnspecified,
-	/** Call set-up will request the V.22bis standard. */
-		EProtocolV22bis,
-	/** Call set-up will request the V.32 standard. */
-		EProtocolV32,
-	/** Call set-up will request the V.34 standard. */
-		EProtocolV34,
-	/** Call set-up will request the V.110 standard. */
-		EProtocolV110,
-	/** Call set-up will request the V.120 standard. */
-		EProtocolV120,
-	/** Call set-up will request the X31FlagStuffing standard. */
-		EProtocolX31FlagStuffing,
-	/** Call set-up will request the PIAFS standard. */
-		EProtocolPIAFS,
-	/** Call set-up will request the bit transparent service. */
-		EProtocolBitTransparent,
-	/** Call set-up will request a PSTN multimedia call with voice fallback if multimedia 
-	fails.
-	
-	WCDMA mode only. */
-		EProtocolPstnMultimediaVoiceFallback,
-	/** Call set-up will request a PSTN multimedia call.
-	
-	WCDMA mode only. */
-		EProtocolPstnMultimedia,
-	/** Call set-up will request a ISDN multimedia call.
-	
-	WCDMA mode only. */
-		EProtocolIsdnMultimedia
-		};
-
-/** The call setup requested data services.
-
-Modes: Common
-
-@see TMobileDataCallParamsV1 */
-	enum TMobileCallDataService
-		{
-	/** Call set-up will request its default service type.
-	
-	Modes: Common */
-		EServiceUnspecified,
-	/** Call set-up will request:
-	
-	GSM mode - Data circuit asynchronous (UDI or 3.1 KHz, ex PLMN) service 
-
-	In CDMA mode - Async Data service 
-	
-	Modes: Common */
-		EServiceDataCircuitAsync,
-	/** Call set-up will request Data circuit asynchronous (RDI) service.
-	
-	Modes: GSM/WCDMA */
-		EServiceDataCircuitAsyncRdi,
-	/** Call set-up will request Data circuit synchronous (UDI or 3.1 KHz, ex PLMN) 
-	service.
-	
-	Modes: GSM/WCDMA */
-		EServiceDataCircuitSync,
-	/** Call set-up will request Data circuit synchronous (RDI) service.
-	
-	Modes: GSM/WCDMA */
-		EServiceDataCircuitSyncRdi,
-	/** Call set-up will request PAD asynchronous (UDI) service.
-	
-	Modes: GSM/WCDMA */
-		EServicePADAsyncUDI,
-	/** Call set-up will request PAD asynchronous (RDI) service.
-	
-	Modes: GSM/WCDMA */
-		EServicePADAsyncRDI,
-	/** Call set-up will request Packet Access synchronous (UDI) service.
-	
-	Modes: GSM/WCDMA */
-		EServicePacketAccessSyncUDI,
-	/** Call set-up will request Packet Access synchronous (RDI) service.
-	
-	Modes: GSM/WCDMA */
-		EServicePacketAccessSyncRDI
-		};
-
-/** The call set-up requested quality of service (QoS).
-
-Modes: GSM/WCDMA
-
-@see TMobileDataCallParamsV1 */
-	enum TMobileCallDataQoS
-		{
-	/** Call set-up will request its default connection. */
-		EQoSUnspecified,
-	/** Call set-up will request a transparent connection. */
-		EQoSTransparent,
-	/** Call set-up will request a non-transparent connection. */
-		EQoSNonTransparent,
-	/** Call set-up will prefer a transparent connection. */
-		EQosTransparentPreferred,
-	/** Call set-up will prefer a non-transparent connection. */
-		EQosNonTransparentPreferred
-		};
-
-/** The call set-up requested RLP version.
-
-@see TMobileDataCallParamsV1 */
-	enum TMobileCallDataRLPVersion
-		{
-	/** Call set-up will request no RLP version. */
-		ERLPNotRequested,
-	/** Call set-up will request single link basic RLP (version 0). */
-		ERLPSingleLinkVersion0,
-	/** Call set-up will request single link extended RLP (version 1). */
-		ERLPSingleLinkVersion1,
-	/** Call set-up will prefer multi link RLP (version 2). */
-		ERLPMultiLinkVersion2
-		};
-
-/** The V.42bis parameters used in the call set-up of a V.42bis data call.
-
-@see TMobileDataCallParamsV1 */
-	enum TMobileCallDataV42bis
-		{
-	/** Call set-up will not request V.42bis compression. */
-		EV42bisNeitherDirection,
-	/** Call set-up will request V.42bis compression in initiator-responder direction 
-	only. */
-		EV42bisTxDirection,
-	/** Call set-up will request V.42bis compression in responder-initiator direction 
-	only. */
-		EV42bisRxDirection,
-	/** Call set-up will request V.42bis compression in both directions. */
-		EV42bisBothDirections
-		};
-
-	
-	
-
-	class TMobileDataCallParamsV1 : public TMobileCallParamsV1
-/** Defines the parameters used for setup of a circuit switched data call. 
-*/
-		{
-	public:
-		IMPORT_C TMobileDataCallParamsV1();
-	public:
-	/** The type of data service.
-	
-	@see TMobileCallDataService */
-		TMobileCallDataService iService;
-	/** The data transfer rate.
-
-	@see TMobileCallDataSpeed */
-		TMobileCallDataSpeed iSpeed;
-	/** The ITU-T standard modulation protocol or higher application protocol. */
-		TMobileCallDataProtocol iProtocol;
-	/** The quality of data service.
-	
-	@see TMobileCallDataQoS */
-		TMobileCallDataQoS iQoS;
-	/** The version of Radio Link Protocol.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobileCallDataRLPVersion */
-		TMobileCallDataRLPVersion iRLPVersion;
-	/** The IWF to MS windows size.
-	
-	Modes: GSM/WCDMA */
-		TInt iModemToMSWindowSize;
-	/** The MS window to IWF size.
-	
-	Modes: GSM/WCDMA */
-		TInt iMSToModemWindowSize;
-	/** The acknowledgement timer.
-	
-	Modes: GSM/WCDMA */
-		TInt iAckTimer;
-	/** The number of retransmission attempts.
-	
-	Modes: GSM/WCDMA */
-		TInt iRetransmissionAttempts;
-	/** The resequencing period in integer format.
-	
-	Modes: GSM/WCDMA */
-		TInt iResequencingPeriod;
-	/** The V42bis compression request parameter.
-	
-	@see TMobileCallDataV42bis */
-		TMobileCallDataV42bis iV42bisReq;
-	/** The number of codewords in the algorithm. */
-		TInt iV42bisCodewordsNum;
-	/** The maximum encodable data string length. */
-		TInt iV42bisMaxStringLength;
-		TBool iUseEdge; // True for ECSD
-		};
-
-/** A typedef'd packaged TMobileDataCallParamsV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobileDataCallParamsV1> TMobileDataCallParamsV1Pckg;
-
-	
-	
-
-	class TMobileDataCallParamsV2 : public TMobileDataCallParamsV1
-/** Defines the parameters used for setup of a circuit switched data call for version 
-v2.0 of the API. 
-*/
-		{
-	public:
-		IMPORT_C TMobileDataCallParamsV2();
-	public:
-	/** The bearer mode. */
-		TMobileCallMulticallBearerMode iBearerMode;
-		};
-
-/** A typedef'd packaged TMobileDataCallParamsV2 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobileDataCallParamsV2> TMobileDataCallParamsV2Pckg;
-
-/** The Air interface user rate.
-
-Modes: GSM/WCDMA. */
-	enum TMobileCallAiur
-		{
-	/** Air interface user rate is not set. */
-		EAiurBpsUnspecified,
-	/** Air interface user rate of 9.6Kbps. */
-		EAiurBps9600,
-	/** Air interface user rate of 14.4Kbps. */
-		EAiurBps14400,
-	/** Air interface user rate of 19.2Kbps. */
-		EAiurBps19200,
-	/** Air interface user rate of 28.8Kbps. */
-		EAiurBps28800,
-	/** Air interface user rate of 38.4Kbps. */
-		EAiurBps38400,
-	/** Air interface user rate of 43.2Kbps. */
-		EAiurBps43200,
-	/** Air interface user rate of 57.6Kbps. */
-		EAiurBps57600
-		};
-
-/** Call Asymmetry preferences.
-
-Modes: GSM/WCDMA
-
-@see TMobileHscsdCallParamsV1 */
-	enum TMobileCallAsymmetry
-		{
-	/** There is no preference for Asymmetry Bias. */
-		EAsymmetryNoPreference,
-	/** Downlink Bias is preferred. */
-		EAsymmetryDownlink,
-	/** Uplink Bias is preferred. */
-		EAsymmetryUplink
-		};
-
-/** The call channel coding used.
-
-Modes: GSM/WCDMA */
-	enum TMobileCallTchCoding
-		{
-	/** Channel coding is unspecified. */
-		ETchCodingUnspecified,
-	/** 4.8K full rate data traffic channel is used. */
-		ETchCoding48,
-	/** 9.6K full rate data traffic channel is used. */
-		ETchCoding96,
-	/** 14.4K full rate data traffic channel is used. */
-		ETchCoding144,
-	/** 28.8K full rate data traffic channel is used. */
-		ETchCoding288,
-	/** 32.0K full rate data traffic channel is used. */
-		ETchCoding320,
-	/** 43.2K full rate data traffic channel is used. */
-		ETchCoding432
-		};
-
-	
-
-	class TMobileDataRLPRangesV1 : public RMobilePhone::TMultimodeType
-/** Defines the parameters for minimum and maximum RLP parameter ranges.
-
-Modes: GSM/WCDMA 
-
-*/
-		{
-	public:
-		IMPORT_C TMobileDataRLPRangesV1();
-	public:
-	/** Maximum modem to MS window size value. */
-		TInt  iIWSMax;
-	/** Minimum modem to MS window size value. */
-		TInt  iIWSMin;
-	/** Maximum MS to modem window size value. */
-		TInt  iMWSMax;
-	/** Minimum MS to modem window size value. */
-		TInt  iMWSMin;
-	/** Maximum acknowledgement timer value. */
-		TInt  iT1Max;
-	/** Minimum acknowledgement timer value. */
-		TInt  iT1Min;
-	/** Maximum retransmission attempts value. */
-		TInt  iN2Max;
-	/** Minimum retransmission attempts value. */
-		TInt  iN2Min;
-	/** Maximum resequencing period value. */
-		TInt  iT4Max;
-	/** Minimum resequencing period value. */
-		TInt  iT4Min;
-		};
-
-/** A typedef'd packaged TMobileDataRLPRangesV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobileDataRLPRangesV1> TMobileDataRLPRangesV1Pckg;
-
-	IMPORT_C void GetMobileDataCallRLPRange(TRequestStatus& aReqStatus, TInt aRLPVersion, TDes8& aRLPRange) const;
-	
-	class TMobileHscsdCallParamsV1 : public TMobileDataCallParamsV1
-/** The High Speed Circuit Switched Data parameters. 
-*/
-		{
-	public:
-		IMPORT_C TMobileHscsdCallParamsV1();
-	public:
-	/** The wanted Air Interface Rate for the HSCSD call being set-up.
-	
-	Modes: GSM/WCDMA
-
-	@see TMobileCallAiur */
-		TMobileCallAiur	iWantedAiur;
-	/** The wanted number of receive timeslots for the HSCSD call being set-up.
-	
-	Modes: GSM/WCDMA */
-		TInt iWantedRxTimeSlots;
-		TInt iMaxTimeSlots;
-	/** Bit-wise sum of acceptable air interface channel codings TMobileCallAiurCodingCaps 
-	for the HSCSD call being set-up.
-	
-	Modes: GSM/WCDMA */
-		TUint iCodings;
-	/** The wanted asymmetry bias for the HSCSD call being set-up.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobileCallAsymmetry */
-		TMobileCallAsymmetry  iAsymmetry;
-	/** A boolean indicating whether or not automatic user initiated service level upgrading 
-	is active for the HSCSD call being set-up. ETrue means enabled, EFalse means 
-	disabled.
-	
-	Modes: GSM/WCDMA */
-		TBool iUserInitUpgrade;
-		};
-
-/** A typedef'd packaged TMobileHscsdCallParamsV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobileHscsdCallParamsV1> TMobileHscsdCallParamsV1Pckg;
-
-	class TMobileHscsdCallParamsV2 : public TMobileHscsdCallParamsV1
-/** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v2.0 
-of the API. 
-
-*/
-		{
-	public:
-		IMPORT_C TMobileHscsdCallParamsV2();
-	public:
-	/** The bearer mode. */
-		TMobileCallMulticallBearerMode iBearerMode;
-		};
-
-/** A typedef'd packaged TMobileHscsdCallParamsV2 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobileHscsdCallParamsV2> TMobileHscsdCallParamsV2Pckg;
-
-	IMPORT_C void SetDynamicHscsdParams(TRequestStatus& aReqStatus, TMobileCallAiur aAiur, TInt aRxTimeslots) const;
-
-	class TMobileCallHscsdInfoV1 : public RMobilePhone::TMultimodeType
-/** The HSCSD settings.
-
-Modes: GSM/WCDMA 
-
-*/
-		{
-	public:
-		IMPORT_C TMobileCallHscsdInfoV1();
-	public:
-	/** Current AIUR for the HSCSD call.
-	
-	@see TMobileCallAiur */
-		TMobileCallAiur	iAiur;
-	/** Current number of receive timeslots for the HSCSD call. */
-		TInt iRxTimeSlots;
-	/** Current number of transmit time slots for the HSCSD call. */
-		TInt iTxTimeSlots;
-	/** Current channel coding for the HSCSD call. */
-		TMobileCallTchCoding iCodings;
-		};
-
-/** A typedef'd packaged TMobileCallHscsdInfoV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobileCallHscsdInfoV1> TMobileCallHscsdInfoV1Pckg;
-
-	IMPORT_C TInt GetCurrentHscsdInfo(TDes8& aHSCSDInfo) const;
-	IMPORT_C void NotifyHscsdInfoChange(TRequestStatus& aReqStatus, TDes8& aHSCSDInfo) const;
-
-	/***********************************************************************************/
-	//
-	// Multimedia Calls
-	//
-	/***********************************************************************************/
-
-	IMPORT_C void AnswerMultimediaCallAsVoice(TRequestStatus& aReqStatus, const TDesC8& aCallParams, TName& aCallName) const;
-	IMPORT_C void NotifyVoiceFallback(TRequestStatus& aReqStatus, TName& aCallName) const;
-
-	//
-	// Mobile Alternating Call Functional Unit
-	//
-
-	IMPORT_C void SwitchAlternatingCall(TRequestStatus& aReqStatus) const;
-	IMPORT_C void NotifyAlternatingCallSwitch(TRequestStatus& aReqStatus) const;
-
-	/***********************************************************************************/
-	//
-	// MobileCallControl functional unit
-	//
-	/***********************************************************************************/
-
-/** Mobile call control capabilites.
-
-Modes: Common */
-	enum TMobileCallControlCaps 
-		{
-		//KCapsData=0x00000001, // taken from etel.h
-		//KCapsFax=0x00000002,
-		//KCapsVoice=0x00000004,
-		//KCapsDial=0x00000008,
-		//KCapsConnect=0x00000010,
-		//KCapsHangUp=0x00000020,
-		//KCapsAnswer=0x00000040,
-		//KCapsLoanDataPort=0x00000080, 
-		//KCapsRecoverDataPort=0x00000100
-	/** Indicates that this call can be put on hold. This implies that the call is currently 
-	active and that there is no other held call. */
-		KCapsHold = 0x00000200,
-	/** Indicates that this call can be resumed. This implies that the call is currently 
-	on hold and that there is no other active call. 
-	
-	Modes: Common */
-		KCapsResume = 0x00000400,
-	/** Indicates that this call's state can be swapped to the opposite state. This
-	implies that this call is either active or held. There may be another call 
-	in the opposite state and if this is the case then both calls will be simultaneously 
-	swapped to their opposite state. 
-	
-	Modes: Common */
-		KCapsSwap = 0x00000800,
-	/** Indicates that this incoming call can be deflected to another destination. 
-	
-	Modes: GSM/WCDMA */
-		KCapsDeflect = 0x00001000,
-	/** Indicates that this call can be transferred to the remote party of another call. 
-	For this capability to be set there must be one active call and one held or 
-	dialing call.
-	
-	Modes: GSM/WCDMA */
-		KCapsTransfer = 0x00002000,
-	/** Indicates that this call can be joined either to another single call to form 
-	a conference call or to an existing conference call.
-	
-	Modes: Common */
-		KCapsJoin = 0x00004000,
-	/** Indicates that this call (within a conference call) can go into One to One mode. 
-	This action would put the rest of the conference call on hold. 
-	
-	Modes: GSM/WCDMA */
-		KCapsOneToOne = 0x00008000,
-	/** Indicates that the user can activate a CCBS request on this failed call set-up. 
-	
-	Modes: GSM/WCDMA */
-		KCapsActivateCCBS = 0x00010000,
-	/** Indicates that this call is part of an alternating call and the client can call 
-	SwitchAlternatingCall() on this call in order to switch it to its other mode.
-	
-	Modes: GSM/WCDMA */
-		KCapsSwitchAlternatingCall = 0x00020000,
-	/** Indicates that this call can use/create a new bearer. This means that multiple 
-	calls (multicall) can be active at the same time using no more that 7 bearers 
-	simultaneously. The other option is to swap with an active call, therefore 
-	it becomes held and shares the same bearer.
-	
-	Modes: WCDMA */
-		KCapsMulticall = 0x00040000
-		};
-
-
-/** Mobile call events capabilities.
-
-Modes: Common */
-	enum TMobileCallEventCaps
-		{
-	/** Indicates that local hold notifications are supported.
-	
-	Modes: Common */
-		KCapsLocalHold = 0x00000001,
-	/** Indicates that local resume notifications are supported. 
-	
-	Modes: Common */
-		KCapsLocalResume = 0x00000002,
-	/** Indicates that local deflect transfer notifications are supported. 
-	
-	Modes: GSM/WCDMA */
-		KCapsLocalDeflectCall = 0x00000004,
-	/** Indicates that local explicit transfer notifications are supported. 
-	
-	Modes: GSM/WCDMA */
-		KCapsLocalTransfer = 0x00000008,
-	/** Indicates that remote hold notifications are supported. 
-
-	Modes: GSM/WCDMA */
-		KCapsRemoteHold = 0x00000010,
-	/** Indicates that remote resume notifications are supported. 
-	
-	Modes: GSM/WCDMA */
-		KCapsRemoteResume = 0x00000020,
-	/** Indicates that remote termination notifications are supported. 
-	
-	Modes: Common */
-		KCapsRemoteTerminate = 0x00000040,
-	/** Indicates that remote conference invocation notifications are supported.
-	
-	Modes: GSM/WCDMA */
-		KCapsRemoteConferenceCreate = 0x00000080
-		};
-
-	
-
-	class TMobileCallCapsV1 : public RMobilePhone::TMultimodeType
-/** Defines the dynamic capabilities of a mobile call. 
-*/
-		{
-	public:
-		IMPORT_C TMobileCallCapsV1();
-	public:
-	/** Call control capability information - a bit wise sum of TMobileCallControlCaps 
-	constants */
-		TUint32 iCallControlCaps;
-	/** Call event capability information - a bit wise sum of TMobileCallEventCaps constants. */
-		TUint32 iCallEventCaps;
-		};
-
-/** A typedef'd packaged TMobileCallCapsV1 for passing through a generic API function 
-member. */
-	typedef TPckg<TMobileCallCapsV1> TMobileCallCapsV1Pckg;
-
-	IMPORT_C TInt GetMobileCallCaps(TDes8& aCaps) const;
-	IMPORT_C void NotifyMobileCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const;
-
-	IMPORT_C void Hold(TRequestStatus& aReqStatus) const;
-	IMPORT_C void Resume(TRequestStatus& aReqStatus) const;
-	IMPORT_C void Swap(TRequestStatus& aReqStatus) const;
-	IMPORT_C void DialISV(TRequestStatus& aStatus,const TDesC8& aCallParams,const TTelNumberC& aTelNumber);
-	IMPORT_C void AnswerIncomingCallISV(TRequestStatus& aStatus,const TDesC8& aCallParams);
-
-/** The type of call deflection requested.
-
-@see Deflect() */
-	enum TMobileCallDeflect
-		{
-	/** Destination is not specified. */
-		EDeflectUnspecified,
-	/** Call will be deflected to voicemail. */
-		EDeflectVoicemail,
-	/** Call will be deflected to the pre-registered number for the call forwarding 
-	service. */
-		EDeflectRegisteredNumber,
-	/** Call will be deflected to the number supplied in the aDestination parameter. */
-		EDeflectSuppliedNumber
-		};
-
-	IMPORT_C void Deflect(TRequestStatus& aReqStatus, TMobileCallDeflect aDeflectType, const RMobilePhone::TMobileAddress& aDestination) const;
-	IMPORT_C void Transfer(TRequestStatus& aReqStatus) const;
-	IMPORT_C void GoOneToOne(TRequestStatus& aReqStatus) const;
-
-/** The mobile call events.
-
-Modes: Common */
-	enum TMobileCallEvent
-		{
-	/** The call has been placed on hold as a result of a local action. 
-	
-	Modes: Common */
-		ELocalHold,
-	/** The call has been resumed as a result of a local action. 
-	
-	Modes: Common */
-		ELocalResume,
-	/** The call has been deflected to another remote party as a result of a local action. 
-	
-	
-	Modes: GSM/WCDMA */
-		ELocalDeflectCall,
-	/** The call has been transferred to another remote party as a result of a local 
-	action. 
-	
-	Modes: Common */
-		ELocalTransfer,
-	/** The call has been placed on hold by the remote connected party. 
-	
-	Modes: GSM/WCDMA */
-		ERemoteHold,
-	/** The call has been resumed by the remote connected party. 
-	
-	Modes: GSM/WCDMA */
-		ERemoteResume,
-	/** The call has been terminated by the remote party. 
-	
-	Modes: Common */
-		ERemoteTerminated,
-	/** The call has been joined by the remote connected party to other call(s) to create/add 
-	to a conference call. 
-	
-	Modes: GSM/WCDMA */
-		ERemoteConferenceCreate,
-		ERemoteTransferring,
-		ERemoteTransferAlerting,
-	/** The outgoing call has been barred by the remote party. 
-	
-	Modes: GSM/WCDMA */
-		ERemoteBarred,
-	/** The call is being forwarded by the remote party. 
-	
-	Modes: GSM/WCDMA */
-		ERemoteForwarding,
-	/** The call is waiting at the remote end. 
-	
-	Modes: GSM/WCDMA */
-		ERemoteWaiting,
-	/** The outgoing call has been barred by the local party. 
-	
-	Modes: GSM/WCDMA */
-		ELocalBarred
-		};
-
-	IMPORT_C void NotifyCallEvent(TRequestStatus& aReqStatus, TMobileCallEvent& aEvent) const;
-
-/** Describes the possible call states. */
-	enum TMobileCallStatus
-		{
-	/** Indicates that the call status is unknown. */
-		EStatusUnknown,			// same as RCall::EStatusUnknown
-	/** Indicates that the call is idle. */
-		EStatusIdle,			// same as RCall::EStatusIdle
-		EStatusDialling,		// same as RCall::EStatusDialling
-	/** Indicates that the MT call is ringing but not answered yet by the local user. */
-		EStatusRinging,			// same as RCall::EStatusRinging
-	/** Indicates that the local user has answered the MT call but the network has not 
-	acknowledged the call connection yet. */
-		EStatusAnswering,		// same as RCall::EStatusAnswering
-	/** MO Call: the network notifies to the MS that the remote party is now ringing. */
-		EStatusConnecting,		// same as RCall::EStatusConnecting
-	/** Indicates that call is connected and active. */
-		EStatusConnected,		// same as RCall::EStatusConnected
-	/** Indicates that call is disconnecting. */
-		EStatusDisconnecting,	// same as RCall::EStatusHangingUp
-	/** Indicates that the call is disconnecting with inband data (to enable the network 
-	to send an audio tone), signifying that the call is not to be released until 
-	the user terminates the call. */
-		EStatusDisconnectingWithInband,
-	/** Indicates that call is undergoing temporary channel loss and it may or may not 
-	be reconnected. */
-		EStatusReconnectPending,
-	/** Indicates that the call is connected but on hold. */
-		EStatusHold,
-	/** Indicates that the call is the non-active half of an alternating call. This 
-	call is waiting for its active half or the remote end to switch alternating 
-	call mode. */
-		EStatusWaitingAlternatingCallSwitch,
-		EStatusTransferring,
-		EStatusTransferAlerting
-		};
-
-	IMPORT_C TInt GetMobileCallStatus(TMobileCallStatus& aStatus) const;
-	IMPORT_C void NotifyMobileCallStatusChange(TRequestStatus& aReqStatus, TMobileCallStatus& aStatus) const;
-
-	IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC& aTelNumber) const;
-	IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC8& aCallParams,const TDesC& aTelNumber) const;
-	
-	/**
-	Contains audio tone events.
-	*/
-	enum TMobileCallAudioToneEvent
-		{
-		/**
-		Stop audio tone.
-		*/
-		EAudioStop,
-		/**
-		Start audio tone.
-		*/
-		EAudioStart		
-		};
-		
-	/**
-	List of 3GPP defined supervisory audio tones taken from technical specification 3GPP TS 22.001 v4.0.0 Annex F.
-
-	This enumeration is based on the signal information element specified in Table 10.5.130/3GPP TS 24.008 v5.15.0
-	*/
-	enum TMobileCallAudioTones	
-		{
-		/** 
-		No tone.  Not defined in specification used for initialisation of 
-		iTone class member variable during TAudioToneV3 construction.
-		*/
-		ENoTone,
-		/**
-		Dial tone.
-		*/
-		EDialTone,
-		/**
-		Subscriber busy tone.
-		*/
-		ESubscriberBusyTone,
-		/**
-		Congestion tone.
-		*/
-		ECongestionTone,
-		/**
-		Radio path acknowledgement tone.
-		*/
-		ERadioPathAcknowledgement,
-		/**
-		Radio path not available tone.
-		*/
-		ERadioPathNotAvailable,
-		/**
-		Call dropped (Mobile Originated only).
-		*/
- 		EMOCallDropped,
- 		/**
-		Error special information.
-		*/
- 		EErrorSpecialInformation,
- 		/**
-		Number unobtainable.
-		*/
- 		ENumberUnobtainable,
- 		/**
-		Authentication failure.
-		*/
- 		EAuthenticationFailure,
- 		/**
-		Call waiting.
-		*/
- 		ECallWaiting,
- 		/**
-		Ringback tone.
-		*/
-		ERingback
-		};
-
-	class TAudioToneV3 :  public RMobilePhone::TMultimodeType
-	/**
-	Audio tone version 1 class. Contains information relating to the  call control playing of audio tones. 
-	Tones maybe generated by the network (in-band) or signalled to be played locally by the ME.
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TAudioToneV3();
-		
-	public:
-		/**
-		Indicates whether the tone is starting or stopping playing.
-		*/
-		TMobileCallAudioToneEvent iEvent;
-		/**
-		Indicates which tone is to be played.
-		*/
-		TMobileCallAudioTones	iTone;
-		/**
-		Indicates whether the tone is played by the network or is to be played locally by the ME.
-		*/
-		TBool iPlayedLocally; 
-		};
-
-	/**
-	Packaging typedef for TAudioToneV3 class.
-	*/
-	typedef TPckg<TAudioToneV3> TAudioToneV3Pckg;
-	
-	IMPORT_C void NotifyAudioToneEvent(TRequestStatus& aReqStatus, TDes8& aToneInfo) const;
-
-	/***********************************************************************************/
-	//
-	// MobilePrivacy functional unit
-	//
-	/***********************************************************************************/
-
-	IMPORT_C TInt SetPrivacy(RMobilePhone::TMobilePhonePrivacy aPrivacySetting) const;
-	IMPORT_C void NotifyPrivacyConfirmation(TRequestStatus& aReqStatus, RMobilePhone::TMobilePhonePrivacy& aPrivacySetting) const;
-
-	/***********************************************************************************/
-	//
-	// MobileTrafficChannel function unit
-	//
-	/***********************************************************************************/
-
-/** Call traffic channels.
-
-Modes: CDMA */
-	enum TMobileCallTch
-		{
-	/** The traffic channel of the call is unknown. */
-		ETchUnknown,
-	/** The call has a digital traffic channel */
-		ETchDigital,
-	/** The call has an analog traffic channel */
-		ETchAnalog
-		};
-
-	IMPORT_C TInt SetTrafficChannel(TMobileCallTch aTchRequest) const;
-	IMPORT_C void NotifyTrafficChannelConfirmation(TRequestStatus& aReqStatus, TMobileCallTch& aTchType) const;
-
-	/***********************************************************************************/
-	//
-	// MobileCallInformation functional unit
-	//
-	/***********************************************************************************/
-
-	/**
-	Remote party Identity status.
-
-	Modes: Common
-
-	@see TMobileCallRemotePartyInfoV1
-	*/
-	enum TMobileCallRemoteIdentityStatus
-		{
-		/**
-		The remote party's identity can not be determined.  Calling
-		party's Binary Coded Decimal (BCD) number is not available.
-		Cause of No CLI is "unavailable".
-		*/
-		ERemoteIdentityUnknown,
-
-		/**
-		The remote party's identity, or BCD number, is available.
-		However, cause of No CLI has not been set.
-		*/
-		ERemoteIdentityAvailable,
-
-		/**
-		The remote party has suppressed the transmission of its
-		identity; i.e. their BCD number is not available.  Cause of No
-		CLI is "reject by user".
-		*/
-		ERemoteIdentitySuppressed,
-		/**
-		The remote party's identity, or BCD number, is available.  The
-		cause of No CLI is "reject by user".
-
-		To be used where the network has specified that displaying of
-		CLI information of the remote party has been rejected by the
-		caller but the TMobileCallRemotePartyInfoV1::iRemoteNumber
-		parameter has been populated with some other string which may
-		be of use to the client.
-		*/
-		ERemoteIdentityAvailableNoCliRejectedByUser,
-
-		/**
-		The remote party's identity is available; a BCD number is
-		available.  The cause of No CLI is "Interaction with other
-		service".
-
-		To be used where the network has specified that CLI information
-		of the remote party is not available due to ineraction with
-		another service.  However, the
-		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
-		populated with some other string which may be of use to the
-		client.
-		*/
-		ERemoteIdentityAvailableNoCliInteractionWithOtherService,
-		/**
-		The remote party's identity, or BCD number, is unavailable.
-		Cause of No CLI is "interaction with other service".
-		*/
-		ERemoteIdentityUnavailableNoCliInteractionWithOtherService,
-
-		/**
-		The remote party's identity, or BCD number, is available.
-		Cause of No CLI is "Coin Line/ Payphone".
-
-		To be used where the network has specified that CLI information
-		of the remote party is not available as the caller is calling
-		from a coin/ payphone.  However, the
-		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
-		populated with some other string which may be of use to the
-		client.
-		*/
-		ERemoteIdentityAvailableNoCliCoinOrPayphone,
-		/**
-		The remote party's identity, or BCD number, is not available.
-		Cause of No CLI is "Coin Line/ Payphone".
-		*/
-		ERemoteIdentityUnavailableNoCliCoinOrPayphone,
-
-		/**
-		The remote party's identity, or BCD number, is available.
-		Cause of No CLI is "unavailable".
-
-		To be used where the network has specified that the CLI
-		information of the remote party is not available but the
-		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
-		populated with some other string which may be of use to the
-		client.
-		*/
-		ERemoteIdentityAvailableNoCliUnavailable
-		};
-
-
-	/**
-	The direction of the mobile call.
-
-	Modes: Common
-
-	@see TMobileCallRemotePartyInfoV1
-	*/
-	enum TMobileCallDirection
-		{
-	/** The direction of the call is unknown. */
-		EDirectionUnknown,
-	/** The call was originated by this phone, i.e. it is an outgoing call. */
-		EMobileOriginated,
-	/** The call was terminated by this phone, i.e. it is an incoming call. */
-		EMobileTerminated
-		};
-
-	enum { KCallingNameSize=80 };
-
-	
-
-	class TMobileCallRemotePartyInfoV1 : public RMobilePhone::TMultimodeType
-/** Defines information about the remote party of a mobile call. 
-*/
-		{
-	public:
-		IMPORT_C TMobileCallRemotePartyInfoV1();
-	public:
-	/** Indicates whether the remote party information in the rest of this structure 
-	is valid or not.
-	
-	Modes: Common
-	
-	@see TMobileCallRemoteIdentityStatus */
-		TMobileCallRemoteIdentityStatus iRemoteIdStatus;
-	/** The direction of the call and hence the role of the remote party, i.e. if the 
-	call is mobile originated then the remote party is the called party whereas 
-	if the call is mobile terminated then the remote party is the calling party.
-	
-	Modes: Common
-	
-	@see TMobileCallDirection */
-		static TMobileCallDirection iDirection;
-	/** The phone number of the remote party if available.
-	
-	Modes: Common
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iRemoteNumber;
-	/** Calling party name available through the CNAP supplementary service (if provisioned). 
-	
-	
-	Modes: Common */
-		TBuf<KCallingNameSize> iCallingName;
-		};
-
-/** A typedef'd packaged TMobileCallRemotePartyInfoV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobileCallRemotePartyInfoV1> TMobileCallRemotePartyInfoV1Pckg;
-
-	IMPORT_C void NotifyRemotePartyInfoChange(TRequestStatus& aReqStatus, TDes8& aRemotePartyInfo) const;
-
-/** Determines which fields in the class are valid.
-
-@see TMobileCallInfoV1 */
-	enum TMobileCallInfoFlags
-		{
-	/** The iStartTime field is valid in the call info class.
-	
-	Modes: COMMON */
-		KCallStartTime		= 0x00000001,
-	/** The iDuration field is valid in the call info class.
-	
-	Modes: COMMON */
-		KCallDuration		= 0x00000002,
-	/** The iCallId field is valid in the call info class.
-	
-	Modes: COMMON */
-		KCallId				= 0x00000004,
-	/** The iRemoteParty field is valid in the call info class.
-	
-	Modes: COMMON */
-		KCallRemoteParty	= 0x00000008,
-	/** The iDialledParty field is valid in the call info class.
-	
-	Modes: COMMON */
-		KCallDialledParty	= 0x00000010,
-	/** The iExitCode field is valid in the call info class.
-	
-	Modes: COMMON */
-		KCallExitCode		= 0x00000020,
-	/** The iEmergency field is valid in the call info class.
-	
-	Modes: COMMON */
-		KCallEmergency		= 0x00000040,
-	/** The iForwarded field is valid in the call info class.
-	
-	Modes: COMMON */
-		KCallForwarded		= 0x00000080,
-	/** The iPrivacy field is valid in the call info class.
-	
-	Modes: CDMA */
-		KCallPrivacy		= 0x00000100,
-	/** The iTch field is valid in the call info class.
-	
-	Modes: CDMA */
-		KCallTch			= 0x00000200,
-	/** The iAlternatingCall field is valid in the call info class.
-	
-	Modes: GSM/WCDMA */
-		KCallAlternating	= 0x00000400,
-		KCallSecurity		= 0x00000800
-		};
-
-	
-
-	class TMobileCallInfoV1 : public RMobilePhone::TMultimodeType
-/** Defines general information about a mobile call. 
-*/
-		{
-	public:
-		IMPORT_C TMobileCallInfoV1();
-	public:
-	/** A bit-wise sum of TMobileCallInfoFlags indicating which of the following optional 
-	fields contain valid data. */
-		TUint32 iValid;
-	/** The call service (voice, data, fax, aux. voice) that this call provides.
-	
-	@see RMobilePhone::TMobileService */
-		RMobilePhone::TMobileService iService;
-	/** The mobile call status.
-	
-	@see TMobileCallStatus */
-		static TMobileCallStatus iStatus;
-	/** The call ID number assigned to an ongoing call. Will equal -1 if the call does 
-	not have an allocated ID. */
-		TInt iCallId;
-	/** The reason for termination of a finished call. Will equal KErrNone if the call 
-	ended normally and KErrNotFound if the call has not ended. */
-		TInt iExitCode;
-	/** ETrue if the call is an emergency call or EFalse if it is not. */
-		static TBool iEmergency;
-	/** For a MT call, this attribute equals ETrue if the call has been forwarded to 
-	this phone or EFalse if it has not. For a MO call, this attribute equals ETrue 
-	if the call has been forwarded to another destination or EFalse if it has 
-	not. If the phone can not determine whether the call has been forwarded or 
-	not then the attribute will return EFalse. */
-		TBool iForwarded;
-	/** This attribute indicates whether privacy is on or off for this call.
-	
-	@see RMobilePhone::TMobilePhonePrivacy */
-		RMobilePhone::TMobilePhonePrivacy iPrivacy;
-	/** This attribute indicates whether this call is an alternating call or not.
-	
-	@see RMobilePhone::TMobilePhoneAlternatingCallMode */
-		RMobilePhone::TMobilePhoneAlternatingCallMode iAlternatingCall;
-	/** The current duration of the call.
-	
-	@see TTimeIntervalSeconds */
-		TTimeIntervalSeconds iDuration;
-	/** This attribute indicates whether a digital or analog traffic channel is being 
-	used for this call.
-	
-	@see TMobileCallTch */
-		TMobileCallTch iTch;
-	/** Information about remote party of a connected call.
-	
-	@see TMobileCallRemotePartyInfoV1 */
-		TMobileCallRemotePartyInfoV1 iRemoteParty;
-	/** The original number (including DTMF) dialled for an outgoing call.
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iDialledParty;
-	/** The time and date the call started.
-	
-	@see TDateTime */
-		TDateTime iStartTime;
-	/** The name of the call.
-	
-	@see TName */
-		TName iCallName;
-	/** The name of the line on which the call is open.
-	
-	@see TName */
-		TName iLineName;
-		};
-
-/** A typedef'd packaged TMobileCallInfoV1 for passing through a generic API function 
-member. */
-	typedef TPckg<TMobileCallInfoV1> TMobileCallInfoV1Pckg;
-	
-	class TMobileCallInfoV3 : public TMobileCallInfoV1
-	/**
-	Extends the TMobileCallInfoV1 claass to include extra call info parameter relating to network security.
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileCallInfoV3();
-	public:
-		/**
-		Indicates whether Ciphering Status of a call is enabled or disabled. 
-		*/
-		RMobilePhone::TMobilePhoneNetworkSecurity  iSecurity;
-		};
-		
-	typedef TPckg<TMobileCallInfoV3> TMobileCallInfoV3Pckg;
-
-	IMPORT_C TInt GetMobileCallInfo(TDes8& aCallInfo) const;
-
-	/***********************************************************************************/
-	//
-	// MobileCallEmergency functional unit
-	//
-	/***********************************************************************************/
-
-	IMPORT_C void DialEmergencyCall(TRequestStatus& aReqStatus, const TDesC& aNumber) const;
-
-	/***********************************************************************************/
-	//
-	// MobileCallCompletion
-	//
-	/***********************************************************************************/
-
-	IMPORT_C void ActivateCCBS(TRequestStatus& aReqStatus, TInt& aIndex) const;
-	IMPORT_C TInt RejectCCBS() const;
-		//
-	// User-To-User Signalling Functional Unit
-	//
-	/***********************************************************************************/
-
-/** The UUS capabilities of the call.
-
-Modes: GSM/WCDMA. */
-	enum TMobileCallUUSCaps			// UUS capabilities of the call
-		{
-	/** Indicates that MS supports UUS1 implicit request. */
-		KCapsSetupUUS1Implicit=0x00000001,
-	/** Indicates that MS supports UUS1 explicit request. */
-		KCapsSetupUUS1Explicit=0x00000002,
-	/** Indicates that MS supports UUS2 request. */
-		KCapsSetupUUS2=0x00000004,
-	/** Indicates that MS supports UUS3 request. */
-		KCapsSetupUUS3=0x00000008,
-	/** Indicates that MS supports activating more than one UUS request at a time. */
-		KCapsSetupMultipleUUS=0x00000010,
-	/** Indicates that UUS1 is active for this call. */
-		KCapsActiveUUS1=0x00000020,
-	/** Indicates that UUS2 is active for this call. */
-		KCapsActiveUUS2=0x00000040,
-	/** Indicates that UUS3 is active for this call. */
-		KCapsActiveUUS3=0x00000080
-		};
-
-	IMPORT_C TInt GetUUSCaps(TUint32& aCaps) const;
-	IMPORT_C void NotifyUUSCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
-
-/** UUS Service requests.
-
-Modes: GSM/WCDMA */
-	enum TMobileCallUUSReqs			// UUS Service requests
-		{
-	/** UUS1 is implicitly requested. */
-		KUUS1Implicit=0x00000001,
-	/** UUS1 is explicitly requested, but it is not mandatory for this call to proceed. */
-		KUUS1ExplicitRequested=0x00000002,
-	/** UUS1 is explicitly requested and it is mandatory for this call to proceed. */
-		KUUS1ExplicitRequired=0x00000004,
-	/** UUS2 is (explicitly) requested, but it is not mandatory for this call to proceed. */
-		KUUS2Requested=0x00000008,
-	/** UUS2 is (explicitly) requested and it is mandatory for this call to proceed. */
-		KUUS2Required=0x00000010,
-	/** UUS3 is (explicitly) requested, but it is not mandatory for this call to proceed. */
-		KUUS3Requested=0x00000020,
-	/** UUS3 is (explicitly) requested and it is mandatory for this call to proceed. */
-		KUUS3Required=0x00000040
-		};
-
-	enum 
-		{
-		KMaxUUISize = 129,
-		};
-
-/** Buffer for the UUI element. */
-	typedef TBuf<KMaxUUISize> TMobileCallUUI;
-
-	class  TMobileCallUUSRequestV1 : public RMobilePhone::TMultimodeType
-/** The mobile Call User-to-User Signaling request. 
-*/
-		{
-	public:
-		IMPORT_C  TMobileCallUUSRequestV1();
-	public:
-	/** This field indicates whether the specified service is requested or required 
-	for the call. */
-		TUint             iServiceReq;
-	/** The UUI element. This field only contains data if iServiceReq indicates UUS1.
-	
-	@see TMobileCallUUI */
-		TMobileCallUUI	  iUUI;
-		};
-	
-/** A typedef'd packaged TMobileCallUUSRequestV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobileCallUUSRequestV1> TMobileCallUUSRequestV1Pckg;
-
-	IMPORT_C void ActivateUUS(TRequestStatus& aReqStatus, const TDesC8& aUUSRequest) const;
-	IMPORT_C void SendUUI(TRequestStatus& aReqStatus, TBool aMore, const TMobileCallUUI& aUUI) const;
-	IMPORT_C void ReceiveUUI(TRequestStatus& aReqStatus, TMobileCallUUI& aUUI) const;
-	IMPORT_C void HangupWithUUI(TRequestStatus& aReqStatus, const TMobileCallUUI& aUUI) const;
-	IMPORT_C void AnswerIncomingCallWithUUI(TRequestStatus& aReqStatus, const TDesC8& aCallParams, const TMobileCallUUI& aUUI) const;
-	
-	/***********************************************************************************/
-	//
-	// Etel 3rd Party v1.0 Parameter classes
-	//
-	/***********************************************************************************/
-	
-	class TEtel3rdPartyMobileCallParamsV1 : public RCall::TCallParams
-/** Defines the parameters used to set-up of a call originated from an ETel 3rd Party client. 
-@publishedPartner
-@released
-*/
-		{
-	public:
-		IMPORT_C TEtel3rdPartyMobileCallParamsV1();
-	public:
-	/** Call Id restriction setting to be used for this call.
-	
-	@see TMobileCallIdRestriction */
-		TMobileCallIdRestriction iIdRestrict;
-	/** Specifies whether this call attempt is user initiated (EFalse) or a client initiated 
-	redial (ETrue). */
-		TBool iAutoRedial;		
-		};
-		
-/** A typedef'd packaged TEtel3rdPartyMobileCallParamsV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TEtel3rdPartyMobileCallParamsV1>TEtel3rdPartyMobileCallParamsV1Pckg;	
-
-	
-private:
-	RMobileCall(const RMobileCall& aCall);
-	CMobileCallPtrHolder* iMmPtrHolder;
-protected:
-	IMPORT_C void ConstructL();
-	IMPORT_C void Destruct();
-	};
-
-
-/*********************************************************/
-//
-// Line based functionality (RMobileLine)
-// 
-/*********************************************************/
-
-
-
-class CMobileLinePtrHolder;
-
-class RMobileLine : public RLine
-/** Provides access to the functionality associated with a specific mobile line. 
-*/
-	{
-public:
-	IMPORT_C RMobileLine();
-
-	/***********************************************************************************/
-	//
-	// MobileLineStatus functional unit
-	// 
-	/***********************************************************************************/
-
-	IMPORT_C TInt GetMobileLineStatus(RMobileCall::TMobileCallStatus& aStatus) const;
-	IMPORT_C void NotifyMobileLineStatusChange(TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus) const;
-
-	//
-	// Additional Caps
-	//
-/** Enumerated auxiliary capabilities. */
-	enum TMobileLineAdditionalCaps
-		{
-	/** Indicates whether the line is a Primary or Auxiliary voice line offset added 
-	so that core Etel and additional line caps can be returned in one TUint. */
-		KCapsAuxVoice=0x00000008	
-		};
-
-private:
-	RMobileLine(const RMobileLine& aLine);
-	CMobileLinePtrHolder* iMmPtrHolder;
-protected:
-	IMPORT_C void ConstructL();
-	IMPORT_C void Destruct();
-	};
-
-
-/*********************************************************/
-//
-// SMS Messaging (RMobileSmsMessaging)
-// 
-/*********************************************************/
-
-
-
-class CMobilePhoneSmspList;
-class CSmsMessagingPtrHolder;
-
-class RMobileSmsMessaging : public RTelSubSessionBase
-/** Provides client access to SMS messaging functionality provided by TSY.
-@publishedPartner
-@released 
-*/
-	{
-public:
-
-	friend class CRetrieveMobilePhoneSmspList;
-
-	IMPORT_C RMobileSmsMessaging();
-
-	IMPORT_C TInt Open(RMobilePhone& aPhone);
-	IMPORT_C void Close();
-
-/** Defines capabilities of SMS messaging.
-
-Modes: GSM/WCDMA */
-	enum TMobileSmsModeCaps
-		{
-	/** SMS is supported in GSM and WCDMA modes. SMS are sent across MM ETel API in 
-	a GSM 03.40 TPDU format.
-	
-	Modes: GSM/WCDMA */
-		KCapsGsmSms=0x00000001,
-	/** SMS is supported in CDMA mode. SMS are sent across MM ETel API in a IS-637 
-	Teleservice message PDU format. 
-	
-	Modes: CDMA */
-		KCapsCdmaSms=0x00000002
-		};
-
-/** Defines SMS control capabilities.
-
-Modes: Common */
-	enum TMobileSmsControlCaps
-		{
-	/** TSY supports receiving incoming SMS that have been stored and acknowledged 
-	by the phone prior to forwarding to the TSY. If this flag is set then KCapsReceiveEither 
-	will not be set and the client can receive stored messages only while the 
-	TSY-phone link is in "receive stored" mode.
-	
-	Modes: Common */
-		KCapsReceiveStored=0x00000001,
-	/** TSY supports receiving incoming SMS that have been acknowledged by the phone 
-	but have NOT already been stored. It is the client's responsibility to do 
-	the storage. If this flag is set then KCapsReceiveEither will not be set and 
-	the client can receive unstored messages only while the TSY-phone link is 
-	in "receive unstored with phone ack" mode.
-	
-	Modes: Common */
-		KCapsReceiveUnstoredPhoneAck=0x00000002,
-	/** TSY supports receiving incoming SMS that have NOT already been stored and acknowledged
-	by the phone. It is the client's responsibility to do both the storage and 
-	the acknowledgment or rejection. If this flag is set then KCapsReceiveEither 
-	will not be set and the client can receive unstored messages only while the 
-	TSY-phone link is in "receive unstored with client ack" mode.
-	
-	Modes: Common */
-		KCapsReceiveUnstoredClientAck=0x00000004,
-	/** TSY supports receiving either stored or unstored incoming SMS at any time. 
-	If this flag is set then any other KCapsReceive... flags will not be set and 
-	the client can receive stored or unstored messages while the TSY-phone link 
-	is in "receive either" mode.
-	
-	Modes: Common */
-		KCapsReceiveEither=0x00000008,
-	/** TSY supports creating a default acknowledgment or rejection TPDU using only 
-	a "cause code" supplied by the client. If this flag is not set then the client 
-	must supply the full ack or nack TPDU if it calls RMobileSmsMessaging::AckSmsStored() 
-	or RMobileSmsMessaging::NackSmsStored().
-	
-	Modes: Common */
-		KCapsCreateAck=0x00000010,
-	/** TSY supports sending SMS messages but does not support returning the service 
-	centre's acknowledgment of the submitted message to the client.
-	
-	Modes: Common */
-		KCapsSendNoAck=0x00000020,
-	/** TSY supports sending SMS messages and also supports returning the service centre's 
-	acknowledgment of the submitted message to the client.
-	
-	Modes: GSM/WCDMA */
-		KCapsSendWithAck=0x00000040,
-	/** TSY supports retrieval of the SMS parameter list.
-	
-	Modes: GSM/WCDMA */
-		KCapsGetSmspList=0x00000080,
-	/** TSY supports storage of the SMS parameter list
-	
-	Modes: GSM/WCDMA */
-		KCapsSetSmspList=0x00000100
-		};
-
-	class TMobileSmsCapsV1 : public RMobilePhone::TMultimodeType
-/** Defines capabilities of SMS messaging.
-*/
-		{
-	public:
-		IMPORT_C TMobileSmsCapsV1();
-
-	/** Sum of TMobileSmsModeCaps constants.
-	
-	Modes: Common */
-		TUint32 iSmsMode;
-	/** Sum of TMobileSmsControlCaps constants.
-	
-	Modes: Common */
-		TUint32 iSmsControl;
-		};
-
-/** A typedef'd packaged TMobileSmsCapsV1 for passing through a generic API member 
-function. */
-	typedef TPckg<TMobileSmsCapsV1> TMobileSmsCapsV1Pckg;
-
-	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
-
-	// Definitions for sizes of TPDU and User Data fields
-	enum 
-		{ 
-		KGsmTpduSize = 165,		// 140 bytes user data + 25 bytes TPDU header
-		KCdmaTpduSize  = 256	// Max size of Bearer Data in Transport Layer message
-		};
-
-/** A typedef'd buffer for GSM or WCDMA message data. */
-	typedef TBuf8<KGsmTpduSize>			TMobileSmsGsmTpdu;
-/** A typedef'd buffer for CDMA message data. */
-	typedef TBuf8<KCdmaTpduSize>		TMobileSmsCdmaTpdu;
-
-	/***********************************************************************************/
-	//
-	// Enum used by TSY to distinguish which SMS attribute class is used by client
-	//
-	/***********************************************************************************/
-
-/** Used by TSY to distinguish which SMS attribute class is used by client.
-
-Modes: Common
-
-@see RMobileSmsMessaging::TMobileSmsSendAttributesV1 */
-	enum TMobileSmsAttributeExtensionId
-		{
-	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsAttributesV1. */
-		KETelMobileSmsAttributesV1=KETelExtMultimodeV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsReceiveAttributesV1. */
-		KETelMobileSmsReceiveAttributesV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsSendAttributesV1. */
-		KETelMobileSmsSendAttributesV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsCdmaSendAttributesV4. */
-		KETelMobileSmsCdmaSendAttributesV4=KETelExtMultimodeV4
-		};
-
-/** Defines common attributes of all SMS messages.
-
-Modes: CDMA
-
-@see TMobileSmsAttributesV1 */
-	enum TMobileSmsAttributeFlags
-		{
-	/** The iCdmaTeleservice field is valid in the attribute class.
-	
-	Modes: CDMA */
-		KCdmaTeleservice = 0x00000001,
-	/** The iCdmaServiceCategory field is valid in the attribute class.
-	
-	Modes: CDMA */
-		KCdmaServiceCategory = 0x00000002,
-	/** The iGsmServiceCentre field is valid in the attribute class.
-	
-	Modes: GSM/WCDMA */
-		KGsmServiceCentre = 0x00000004,
-	/** The iDataFormat field is valid in the attribute class.
-	
-	Modes: Common */
-		KSmsDataFormat = 0x00000008,	
-	/** The iOriginator or iDestination field is valid in the attribute class.
-	
-	Modes: Common */
-		KRemotePartyInfo = 0x00000010,
-	/** The iStatus field is valid in the attribute class.
-	
-	Modes: Common */
-		KIncomingStatus = 0x00000020,
-	/** The iStore and iStoreIndex fields are valid in the attribute class.
-	
-	Modes: Common */
-		KStorageLocation = 0x00000040,
-	/** The iMsgRef field is valid in the attribute class.
-
-	Modes: Common */
-		KMessageReference = 0x00000080,
-	/** The iSubmitReport field is valid in the attribute class.
-	
-	Modes: GSM/WCDMA */
-		KGsmSubmitReport = 0x00000100,
-	/** The iMore field is valid in the attribute class.
-	
-	Modes: Common */
-		KMoreToSend = 0x00000200,
-	/** Indicates to the TSY that it should keep the traffic channel open since there is
-	    another message ready to be sent immediately after this one (typically used when
-	    sending messages to multiple recipients). TSY should then keep the channel open 
-	    until a message is sent with this bit cleared.
-	
-	Modes: CDMA */
-		KCdmaKeepChannelOpen = 0x00000400,
-	/** Indicates to the TSY that it must wait for the Transport Layer Acknowledgement from the network
-	
-	Modes: CDMA */
-		KCdmaTLAckRequired = 0x00000800,
-	/** The iAddressAuthentication field is valid in the attribute class.
-	
-	Modes: CDMA */
-		KCdmaAddressAuthentication = 0x00001000
-		};
-
-/** Defines the SMS data format.
-
-Modes: Common */
-	enum TMobileSmsDataFormat
-		{
-	/** The format is not specified.
-
-	Modes: Common */
-		EFormatUnspecified,
-	/** The message data format complies to a SMS TPDU coded as octets according to 
-	GSM 03.40.
-	
-	Modes: GSM/WCDMA */
-		EFormatGsmTpdu,
-	/** The message data format complies to a SMS Teleservice PDU coded as octets according 
-	to IS-637.
-	
-	Modes: CDMA */
-		EFormatCdmaTpdu
-		};
-
-	class TMobileSmsAttributesV1 : public RMobilePhone::TMultimodeType
-	/** Defines common attributes of all SMS messages. 
-	@publishedPartner
-	@released
-	*/
-		{
-	protected:
-		TMobileSmsAttributesV1();
-	public:
-	/** The bit-mask flags from TMobileSmsAttributeFlags indicating which attributes 
-	are present in this instance.
-	
-	Modes: Common */
-		TUint32 iFlags;
-	/** The format of the message data buffer .
-	
-	Modes: Common
-	
-	@see TMobileSmsDataFormat */
-		TMobileSmsDataFormat iDataFormat;
-	/** The teleservice this message belongs to, coded according to SMS teleservice 
-	identifier values table in TIA/EIA-41-D.
-	
-	Modes: CDMA */
-		TInt iCdmaTeleservice;
-	/** The service category this message belongs to.
-	
-	Modes: CDMA */
-		TInt iCdmaServiceCategory;
-	/** The GSM service centre used for this SMS.
-	
-	Modes: GSM/WCDMA
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iGsmServiceCentre;
-		};
-
-/** A typedef'd packaged TMobileSmsAttributesV1 for passing through a generic 
-API member function. */
-	typedef TPckg<TMobileSmsAttributesV1> TMobileSmsAttributesV1Pckg;
-
-/** Defines attributes of incoming SMS messages.
-
-Modes: Common */
-	enum TMobileSmsIncomingStatus
-		{
-	/** The status of the incoming SMS is unknown. */
-		EMtMessageUnknownStatus,
-	/** The incoming SMS is not stored phone-side but has already been acknowledged 
-	by the phone. */
-		EMtMessageUnstoredPhoneAck,
-	/** The incoming SMS is not stored phone-side and needs to be acknowledged by the 
-	client. */
-		EMtMessageUnstoredClientAck,
-	/** The incoming SMS is stored phone-side. */
-		EMtMessageStored
-		};
-
-	class TMobileSmsReceiveAttributesV1 : public TMobileSmsAttributesV1
-	/** Defines attributes of incoming SMS messages. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileSmsReceiveAttributesV1();
-	public:
-	/** Indicates the status of the incoming message -whether it is stored phone-side 
-	or has been acknowledged by the phone.
-	
-	Modes: Common
-	
-	@see TMobileSmsIncomingStatus */
-		TMobileSmsIncomingStatus	 iStatus;	// indicates if MT message is stored phone-side
-	/** If the message is stored phone-side, indicates the index (within the phone-side 
-	store) where the message is stored.
-	
-	Modes: Common */
-		TInt						 iStoreIndex;// used if MT message is stored phone-side
-	/** If the message is stored phone-side, indicates the name of the appropriate 
-	phone-side store.
-	
-	Modes: Common
-	
-	@see RMobilePhone::TMobileName */
-		RMobilePhone::TMobileName	 iStore;		// used if MT message is stored phone-side
-	/** The address of the originator of the SMS.
-
-	Modes: Common
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iOriginator;
-		};
-
-/** A typedef'd packaged TMobileSmsReceiveAttributesV1 for passing through a generic 
-API member function. */
-	typedef TPckg<TMobileSmsReceiveAttributesV1> TMobileSmsReceiveAttributesV1Pckg;
-
-	
-
-	class TMobileSmsSendAttributesV1 : public TMobileSmsAttributesV1
-	/** Defines attributes of sent SMS messages.
-	@publishedPartner
-	@released */
-		{
-	public:
-		IMPORT_C TMobileSmsSendAttributesV1();
-	public:
-	/** The message reference assigned to a sent message.
-	
-	Modes: Common */
-		TUint16						 iMsgRef;
-	/** A boolean indicating whether the client is going to send another SMS immediately 
-	after this one. Equals ETrue if this is the case, EFalse if it is not.
-	
-	Modes: Common */
-		TBool						 iMore;
-	/** The SMS-SUBMIT-REPORT TPDU received from network in response to a sent message.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobileSmsGsmTpdu */
-		TMobileSmsGsmTpdu			 iSubmitReport;
-	/** The address of the destination of the SMS.
-	
-	Modes: Common
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iDestination;
-		};
-	
-/** A typedef'd packaged TMobileSmsSendAttributesV1 for passing through a generic 
-API member function. */
-	typedef TPckg<TMobileSmsSendAttributesV1> TMobileSmsSendAttributesV1Pckg;
-
-	class TMobileSmsCdmaSendAttributesV4 : public TMobileSmsAttributesV1
-	/**
-	Defines attributes of sent SMS messages (CDMA only).
-
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileSmsCdmaSendAttributesV4();
-	public:
-		/** 
-		The message id allocated by the SMS stack. The TSY should
-		retrieve the value from iCdmaTeleserviceId to determine
-		which teleservice this message id corresponds to. 
-		*/
-		TUint16 iMsgRef;
-		/** Indicates whether the client is going to send another 
-		PDU immediately after this one (typically used when sending
-		messages of more than one PDU). Equals ETrue if at least 
-		one more PDU is needed to complete the message and EFalse
-		otherwise.
-		*/
-		TBool iMore;
-		/** TPDU received from network in response to a sent message */
-		TMobileSmsCdmaTpdu iTLAck;
-		/** The address of the destination of the SMS. */
-		RMobilePhone::TMobileAddress iDestination;
-		/** Transport layer authentication parameter */
-		TUint32 iAddressAuthentication;
-		};
-
-/** A typedef'd packaged TMobileSmsCdmaSendAttributesV4 for passing through a generic 
-API member function. */
-	typedef TPckg<TMobileSmsCdmaSendAttributesV4> TMobileSmsCdmaSendAttributesV4Pckg;
-
-	//
-	// Setting up the storage & acknowledgement mode
-	//
-
-/** Defines the SMS receive modes.
-
-Modes: Common */
-	enum TMobileSmsReceiveMode
-		{
-	/** Receive mode is unspecified and phone will use its default. */
-		EReceiveModeUnspecified,
-	/** Phone will store and acknowledge all incoming messages before passing them 
-	onto TSY. */
-		EReceiveUnstoredPhoneAck,	// client stores but phone acknowledges message
-	/** Phone will acknowledge but NOT store all incoming messages before passing them 
-	onto TSY. It is client's responsibility to store the message. */
-		EReceiveUnstoredClientAck,	// client acknowledges and stores message
-	/** Phone will NOT acknowledge or store any incoming messages before passing them 
-	onto TSY. It is client's responsibility to attempt storage and then either
-	acknowledge or reject the message. */
-		EReceiveStored,				// phone acknowledges and store message
-	/** Phone may pass on either stored or unstored messages to TSY. It is client's 
-	responsibility to check RMobileSmsMessaging::TMobileSmsReceiveAttributesV1::iStatus 
-	to determine what action(s) the client needs to take for a message. */
-		EReceiveEither				// client deals with stored & unstored messages
-		};
-
-	IMPORT_C void SetReceiveMode(TRequestStatus& aReqStatus, TMobileSmsReceiveMode aReceiveMode) const;
-	IMPORT_C TInt GetReceiveMode(TMobileSmsReceiveMode& aReceiveMode) const;
-	IMPORT_C void NotifyReceiveModeChange(TRequestStatus& aStatus, TMobileSmsReceiveMode& aReceiveMode);
-
-	/***********************************************************************************/
-	//
-	// Incoming SMS
-	//
-	/***********************************************************************************/
-
-	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
-
-	/***********************************************************************************/
-	//
-	// Responding to incoming SMS
-	//
-	/***********************************************************************************/
-
-	IMPORT_C void AckSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TBool aFull=EFalse) const;
-	IMPORT_C void NackSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TInt aRpCause) const;
-	IMPORT_C void ResumeSmsReception(TRequestStatus& aReqStatus) const;
-
-	/***********************************************************************************/
-	//
-	// Outgoing SMS
-	//
-	/***********************************************************************************/
-
-	IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const;
-	IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const;
-
-/** Defines the SMS bearer.
-
-Modes: GSM */
-	enum TMobileSmsBearer
-		{
-	/** SMS messages will only be sent over a packet-switched (GPRS) network. */
-		ESmsBearerPacketOnly,
-	/** SMS messages will only be sent over a circuit-switched (GSM) network. */
-		ESmsBearerCircuitOnly,
-	/** SMS messages will be sent over the packet-switched (GPRS) network if possible, 
-	otherwise over circuit-switched (GSM) network. */
-		ESmsBearerPacketPreferred,
-	/** SMS messages will be sent over the circuit-switched (GSM) network if possible, 
-	otherwise over packet-switched (GPRS) network. */
-		ESmsBearerCircuitPreferred
-		};
-
-	IMPORT_C void SetMoSmsBearer(TRequestStatus& aReqStatus, TMobileSmsBearer aBearer) const;
-	IMPORT_C TInt GetMoSmsBearer(TMobileSmsBearer& aBearer) const;
-	IMPORT_C void NotifyMoSmsBearerChange(TRequestStatus& aReqStatus, TMobileSmsBearer& aBearer);
-
-	/***********************************************************************************/
-	//
-	// Get information on phone-side SMS storage
-	//
-	/***********************************************************************************/
-
-	IMPORT_C TInt EnumerateMessageStores(TInt& aCount) const;
-	IMPORT_C void GetMessageStoreInfo(TRequestStatus& aReqStatus, TInt aIndex, TDes8& aInfo) const;
-
-	/***********************************************************************************/
-	//
-	// Read/Write SMS parameters to phone-side storage
-	//
-	/***********************************************************************************/
-
-	enum { KMaxSmspTextSize=30 };
-
-/** Defines the valid SMS parameters store.
-
-Modes: GSM/WCDMA
-
-@see TMobileSmspEntryV1 */
-	enum TMobileSmspStoreValidParams
-		{
-	/** The entry includes a valid iDestination field. */
-		KDestinationIncluded=0x00000001,
-	/** The entry includes a valid iServiceCentre field. */
-		KSCAIncluded=0x00000002,
-	/** The entry includes a valid iProtocolId field. */
-		KProtocolIdIncluded=0x00000004,
-	/** The entry includes a valid iDcs field. */
-		KDcsIncluded=0x00000008,
-	/** The entry includes a valid iValidityPeriod field. */
-		KValidityPeriodIncluded=0x00000010
- 		};
-
-	class TMobileSmspEntryV1 : public RMobilePhone::TMultimodeType
-
-	/** Defines a set of SMS parameters. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileSmspEntryV1();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-	/** The slot index where this SMSP entry is stored in the SIM's SMSP file. */
-		TInt iIndex;
-	/** A bit-wise sum of the constants defined in TMobileSmspStoreValidParams, that 
-	specifies which parameters are valid within this entry. */
-		TUint32	iValidParams;
-	/** Default protocol ID. Coded according to GSM 03.40. */
-		TUint8 iProtocolId;
-	/** Default data coding scheme. Coded according to GSM 03.40. */
-		TUint8 iDcs;
-	/** Default validity period, in relative format and coded on 8 bits as defined 
-	by GSM 03.40. */
-		TUint8 iValidityPeriod;
-	/** Reserved for future use. */
-		TUint8 iReservedFiller;
-	/** Default destination for outgoing SMS.
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iDestination;
-	/** Default service centre for outgoing SMS.
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iServiceCentre;
-	/** The alpha-tag associated with this SMSP entry, expressed as Unicode characters. */
-		TBuf<KMaxSmspTextSize> iText;
-		};
-
-/** A typedef'd packaged TMobileSmspEntryV1 for passing through a generic API member
-function. */
-	typedef TPckg<TMobileSmspEntryV1> TMobileSmspEntryV1Pckg;
-	IMPORT_C void StoreSmspListL(TRequestStatus& aReqStatus, CMobilePhoneSmspList* aSmspList) const;
-	IMPORT_C void NotifySmspListChange(TRequestStatus& aReqStatus) const;
-
-private:
-	RMobileSmsMessaging(const RMobileSmsMessaging&);
-	CSmsMessagingPtrHolder* iSmsMessagingPtrHolder;
-protected:
-	IMPORT_C void ConstructL();
-	IMPORT_C void Destruct();
-	};
-
-
-/*********************************************************/
-//
-// Broadcast Messaging (RMobileBroadcastMessaging)
-// 
-/*********************************************************/
-
-
-
-class CMobilePhoneBroadcastIdList;
-
-class CCbsMessagingPtrHolder;
-class RMobileBroadcastMessaging : public RTelSubSessionBase
-/** This sub-session provides access to the broadcast message services provided 
-by GSM/WCDMA and CDMA networks.
-
-Clients will open a RMobileBroadcastMessaging sub-session and then wait for 
-incoming broadcast messages. The broadcast messages received can depend upon 
-a "message filter" which defines the languages and/or identifiers of acceptable 
-(or unacceptable) messages. This sub-session and the function members within 
-this section must be supported if the TSY indicates that it supports the MobileBroadcastMessaging
-functional unit. 
-
-@publishedPartner
-@released*/
-	{
-public:
-	
-	friend class CRetrieveMobilePhoneBroadcastIdList;
-
-	IMPORT_C RMobileBroadcastMessaging();
-
-	IMPORT_C TInt Open(RMobilePhone& aPhone);
-	IMPORT_C void Close();
-
-	/***********************************************************************************/
-	//
-	// Broadcast messaging capabilities
-	//
-	/***********************************************************************************/
-
-/** Broadcast capabilities.
-
-Modes:GSM/WCDMA */
-	enum TMobileBroadcastModeCaps
-		{
-	/** GSM 03.41 cell broadcast messages are supported.
-	
-	Modes:GSM/WCDMA */
-		KCapsGsmTpduFormat = 0x00000001,
-	/** IS-637-A broadcast messages are supported.
-	
-	Modes:CDMA */
-		KCapsCdmaTpduFormat = 0x00000002,
-	/** 3GPP 25.324 Release 4 cell broadcast messages are supported.
-	
-	Modes: WCDMA */
-		KCapsWcdmaTpduFormat = 0x00000004
-		};
-
-/** Broadcast message filter capabilities.
-
-Modes: Common
-
-@see RMobileBroadcastMessaging::GetLanguageFilter() */
-	enum TBroadcastMessagingFilterCaps
-		{
-	/** Phone supports switching broadcast messages on or off. This means the EbroadcastAcceptNone 
-	and EBroadcastAcceptAll settings of TMobilePhoneBroadcastFilter are supported.
-	
-	Modes: Common */
-		KCapsSimpleFilter = 0x00000001,
-	/** Phone supports filtering of broadcast messages depending upon their language. 
-	The language filter is a list of languages used only for broadcast filtering.
-	
-	Modes: Common
-	
-	@see RMobileBroadcastMessaging::GetLanguageFilter() */
-		KCapsLangFilter = 0x00000002,
-	/** Phone supports filtering of broadcast messages depending upon their subject. 
-	The subject of a message is identified in GSM/WCDMA mode by the Cell Broadcast 
-	Message Identifier (CBMI) and in CDMA mode by the Service Category.
-	
-	Modes: Common */
-		KCapsIdFilter = 0x00000004
-		};
-
-	
-
-	class TMobileBroadcastCapsV1 : public RMobilePhone::TMultimodeType
-	/** Defines capabilities of Broadcast messaging. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileBroadcastCapsV1();
-	public:
-	/** Sum of TMobileBroadcastModeCaps constants.
-	
-	Modes: GSM/WCDMA */
-		TUint32 iModeCaps;
-	/** Sum of TBroadcastMessagingFilterCaps constants.
-	
-	Modes: GSM/WCDMA */
-		TUint32 iFilterCaps;
-		};
-
-/** A typedef'd packaged TMobileBroadcastCapsV1 for passing through a generic API 
-function member. */
-	typedef TPckg<TMobileBroadcastCapsV1> TMobileBroadcastCapsV1Pckg;
-
-	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
-
-/** Defines the broadcast attributes.
-
-Modes: Common */
-	enum TMobileBroadcastAttributeFlags
-		{
-	/** The iFormat field is valid in the attribute class.
-	
-	Modes: Common */
-		KBroadcastDataFormat = 0x00000001,
-	/** The iServiceCategory field is valid in the attribute class.
-	
-	Modes: CDMA */
-		KCdmaServiceCategory = 0x00000002
-		};
-
-/** The mobile broadcast data format, used byTMobileBroadcastAttributesV1.
-
-Modes: Common */
-	enum TMobileBroadcastDataFormat
-		{
-	/** The message data format is not specified.
-	
-	Modes: Common */
-		EFormatUnspecified,
-	/** The message data format complies to a Cell Broadcast TPDU coded as 88 octets 
-	(6 for header and 82 for message data) according to GSM 03.41.
-	
-	Modes: GSM/WCDMA */
-		EFormatGsmTpdu,
-	/** The message data format complies to IS-637-A encoding of the Bearer Data parameter 
-	within the Transport Layer's SMS-Broadcast message.
-	
-	Modes: CDMA */
-		EFormatCdmaTpdu,
-	/** The message data format complies to a Cell Broadcast TPDU coded as 1252 octets 
-	(6 for header and a maximum of 1246 for message data) according to 3GPP 25.324.
-	
-	Modes: WCDMA */
-		EFormatWcdmaTpdu
-		};
-
-	
-
-	class TMobileBroadcastAttributesV1 : public RMobilePhone::TMultimodeType
-	/** Defines attributes of a Broadcast message.
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileBroadcastAttributesV1();
-	public:
-	/** The bit-mask flags indicating which attributes are present in this instance.
-	
-	Modes: Common
-	
-	@see TMobileBroadcastAttributeFlags */
-		TUint32	iFlags;
-	/** Format of the message data buffer.
-	
-	Modes: Common
-	
-	@see TMobileBroadcastDataFormat */
-		TMobileBroadcastDataFormat	iFormat;
-	/** Service category of the message.
-	
-	Modes: CDMA */
-		TInt iServiceCategory;
-		};
-
-/** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobileBroadcastAttributesV1> TMobileBroadcastAttributesV1Pckg;
-
-
-	
-
-	class TMobileBroadcastAttributesV2 : public TMobileBroadcastAttributesV1
-	/** Defines attributes of a UMTS Broadcast message for version v2.0 of the API. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileBroadcastAttributesV2();
-	public:
-	/** The number of pages that the current broadcast message consists of. The maximum 
-	number of pages for WCDMA Broadcast messages is 15. */
-		TInt	 iNumberOfPages;
-	/** This parameter is used to store the message type for this broadcast message. */
-		TUint8	 iMessageType;
-	/** This parameter is used to store the message id for this broadcast message.
-	
-	This parameter is used to store the serial number for this broadcast message.
-	
-	This parameter is used to store the data coding scheme for this broadcast 
-	message. */
-		TUint16	 iMessageId;
-	/** This parameter is used to store the serial number for this broadcast message. */
-		TUint16	 iSerialNum;
-	/** This parameter is used to store the data coding scheme for this broadcast message. */
-		TUint8	 iDCS;
-		};
-
-/** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic 
-API function member. */
-	typedef TPckg<TMobileBroadcastAttributesV2> TMobileBroadcastAttributesV2Pckg;
-
-	/***********************************************************************************/
-	//
-	// Receiving broadcast messages
- 	//
-	/***********************************************************************************/
-
-	/** A constant which defines the length of the buffer to be passed to ReceiveMessage.	
-	
-	This constant should be used for all message types: GSM, CDMA and WCDMA.*/
-	enum
-		{
-		KBroadcastPageSize = 88	
-		};
-	
-	/** Buffer for received messages. 
-	
-	This buffer should be used for all message types: GSM, CDMA and WCDMA.*/
-	typedef TBuf8<KBroadcastPageSize> TBroadcastPageData;
-
-	/** Old buffer sizes.  KBroadcastPageSize should be used instead. */
-	enum 
-		{
-		KGsmBroadcastDataSize = KBroadcastPageSize,
-		KCdmaBroadcastDataSize = KBroadcastPageSize,
-		KWCdmaBroadcastPageSize = KBroadcastPageSize
-		};
-
-	/** Buffer for GSM messages.  TBroadcastPageData should be used instead. */
-	typedef TBuf8<KGsmBroadcastDataSize>  TGsmBroadcastMessageData;
-	/** Buffer for CDMA messages.  TBroadcastPageData should be used instead.  */
-	typedef TBuf8<KCdmaBroadcastDataSize> TCdmaBroadcastMessageData;
-	/** Buffer for WCDMA messages.  TBroadcastPageData should be used instead. */
-	typedef TBuf8<KWCdmaBroadcastPageSize> TWCdmaBroadcastPageData;
-
-	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
-
-	/***********************************************************************************/
-	//
-	// Filters
-	//
-	/***********************************************************************************/
-
-/** The filter settings of the mobile phone.
-
-Modes: Common */
-	enum TMobilePhoneBroadcastFilter
-		{
-	/** The phone does not have a filter setting. */
-		EBroadcastFilterUnspecified,
-	/** The phone is not accepting any broadcast messages. */
-		EBroadcastAcceptNone,
-	/** The phone is accepting all broadcast messages. */
-		EBroadcastAcceptAll,
-	/** The phone is accepting those broadcast messages included within the language 
-	and identifier filters. */
-		EBroadcastAcceptFilter,
-	/** The phone is rejecting those broadcast messages included within the language 
-	or identifier filters. */
-		EBroadcastRejectFilter
-		};
-
-	IMPORT_C TInt GetFilterSetting(TMobilePhoneBroadcastFilter& aSetting) const;
-	IMPORT_C void SetFilterSetting(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter aSetting) const;
-	IMPORT_C void NotifyFilterSettingChange(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter& aSetting) const;
-
-	IMPORT_C void GetLanguageFilter(TRequestStatus& aReqStatus, TDes16& aLangFilter) const;
-	IMPORT_C void SetLanguageFilter(TRequestStatus& aReqStatus, const TDesC16& aLangFilter) const;
-	IMPORT_C void NotifyLanguageFilterChange(TRequestStatus& aReqStatus, TDes16& aLangFilter) const;
-
-	class TMobileBroadcastIdEntryV1 : public RMobilePhone::TMultimodeType
-	/** In GSM - defines a Cell Broadcast Message Identifier (CBMI) list entry. In 
-	CDMA - defines a Service Category list entry. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-		IMPORT_C TMobileBroadcastIdEntryV1();
-	public:
-	/** The value of the message identifier. */
-		TUint16	iId;
-		};
-
-/** Defines the broadcast types. */
-	enum TMobileBroadcastIdType
-		{
-	/** GSM broadcast. */
-		EGsmBroadcastId,
-	/** CDMA broadcast. */
-		ECdmaBroadcastId
-		};
-
-	IMPORT_C void StoreBroadcastIdListL(TRequestStatus& aReqStatus, CMobilePhoneBroadcastIdList* aIdList, TMobileBroadcastIdType aIdType);
-	IMPORT_C void NotifyBroadcastIdListChange(TRequestStatus& aReqStatus) const;
-
-private:
-	RMobileBroadcastMessaging(const RMobileBroadcastMessaging&);
-	CCbsMessagingPtrHolder* iCbsMessagingPtrHolder;
-protected:
-	IMPORT_C void ConstructL();
-	IMPORT_C void Destruct();
-	};
-
-/*********************************************************/
-//
-// USSD Messaging (RMobileUssdMessaging)
-// 
-/*********************************************************/
-
-
-
-class CUssdMessagingPtrHolder;
-class RMobileUssdMessaging : public RTelSubSessionBase
-/** Provides client access to USSD functionality provided by TSY. 
-*/
-	{
-public:
-	IMPORT_C RMobileUssdMessaging();
-
-	IMPORT_C TInt Open(RMobilePhone& aPhone);
-	IMPORT_C void Close();
-
-/** Defines the USSD Messaging Format Capabilities.
-
-Modes: GSM/WCDMA */
-	enum TMobileUssdFormatCaps
-		{
-	/** USSD messages coded as a packed string within 160 octets, as defined for a 
-	ussd-String within GSM 04.80 and GSM 03.38.
-	
-	Modes: GSM/WCDMA */
-		KCapsPackedString=0x00000001
-		};
-
-/** Defines the USSD Messaging Type Capabilities.
-
-Modes: GSM/WCDMA */
-	enum TMobileUssdTypeCaps
-		{
-	/** Outgoing USSD messages are supported.
-	
-	Modes: GSM/WCDMA */
-		KCapsMOUssd=0x00000001,
-	/** Incoming USSD messages are supported.
-	
-	Modes: GSM/WCDMA */
-		KCapsMTUssd=0x00000002
-		};
-
-	
-
-	class TMobileUssdCapsV1 : public RMobilePhone::TMultimodeType
-	/** Defines capabilities of USSD messaging. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileUssdCapsV1();
-	/** Sum of TMobileUssdFormatCaps constants.
-	
-	Modes: GSM/WCDMA
-
-	@see TMobileUssdFormatCaps */
-		TUint32 iUssdFormat;
-	/** Sum of TMobileUssdTypeCaps constants.
-	
-	Modes: GSM/WCDMA
-
-	@see TMobileUssdTypeCaps */
-		TUint32 iUssdTypes;
-		};
-
-/** A typedef'd packaged TMobileUssdCapsV1 for passing through a generic API member 
-function. */
-	typedef TPckg<TMobileUssdCapsV1> TMobileUssdCapsV1Pckg;
-
-	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
-
-/** Defines the USSD Messaging Attributes.
-
-Modes: GSM/WCDMA
-
-@see TMobileUssdAttributesV1 */
-	enum TMobileUssdAttributeFlags
-		{
-	/** The iFormat field is valid in the attribute class. */
-		KUssdDataFormat = 0x00000001,
-	/** The iType field is valid in the attribute class. */
-		KUssdMessageType = 0x00000002,
-	/** The iDcs field is valid in the attribute class. */
-		KUssdMessageDcs = 0x00000004
-		};
-
-/** Defines the USSD Data Formats.
-
-Modes: Common */
-	enum TMobileUssdDataFormat
-		{
-	/** The message data format is unspecified.
-	
-	Modes: Common */
-		EFormatUnspecified,
-	/** The message data format complies to a USSD coded as 160 octets as defined for 
-	a ussd-String within GSM 04.80 and GSM 03.38.
-	
-	Modes: GSM/WCDMA */
-		EFormatPackedString
-		};
-
-/** Defines the USSD Message Types.
-
-Modes: GSM/WCDMA */
-	enum TMobileUssdMessageType
-		{
-	/** Message is an unknown type. */
-		EUssdUnknown,
-	/** Message is a mobile originated USSD request. The MS expects the network to 
-	send a USSD MT reply. */
-		EUssdMORequest,
-	/** Message is a reply to a previously received network initiated USSD request. 
-	It is a USSD MO reply. */
-		EUssdMOReply,
-	/** Message is a one-off network initiated USSD notification. The network expects the MS to
-	send a USSD MO acknowledgement with empty message content. */
-		EUssdMTNotify,
-	/** Message is a network initiated USSD request. The network expects
-	the MS to send a USSD MO reply. */
-		EUssdMTRequest,
-	/** Message is a network initiated reply to a previously sent MO USSD request. */
-		EUssdMTReply,
-	/** For acknowledging MT USSD notifications (empty message content). */
-		EUssdMOAcknowledgement
-		};
-
-	
-
-	class TMobileUssdAttributesV1 : public RMobilePhone::TMultimodeType
-	/** Defines attributes of a USSD message. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileUssdAttributesV1();
-	public:
-	/** The TMobileUssdAttributeFlags bit-mask flags indicating which attributes are
-	present in this instance.
-	
-	Modes: GSM/WCDMA
-
-	@see TMobileUssdAttributeFlags */
-		TUint32 iFlags;
-	/** Format of the message data buffer.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobileUssdDataFormat */
-		TMobileUssdDataFormat iFormat;
-	/** The type of USSD message.
-	
-	Modes: GSM/WCDMA
-	
-	@see TMobileUssdMessageType */
-		TMobileUssdMessageType iType;
-	/** The Data Coding Scheme of the USSD message.
-	
-	Modes: GSM/WCDMA */
-		TUint8 iDcs;
-		};
-	
-/** A typedef'd packaged TMobileUssdAttributesV1 for passing through a generic 
-API member function. */
-	typedef TPckg<TMobileUssdAttributesV1> TMobileUssdAttributesV1Pckg;
-
-	/***********************************************************************************/
-	//
-	// Receiving USSD messages
- 	//
-	/***********************************************************************************/
-
-	enum 
-		{
-		KGsmUssdDataSize = 160
-		};
-
-/** A typedef'd buffer to hold the message data. */
-	typedef TBuf8<KGsmUssdDataSize> TGsmUssdMessageData;
-
-	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
-
-	/***********************************************************************************/
-	//
-	// Sending USSD messages
-	//
-	/***********************************************************************************/
-
-	IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const;
-	IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const;
-	
-	IMPORT_C void SendRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const;
-	IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const;
-	IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
-
-private:
-	RMobileUssdMessaging(const RMobileUssdMessaging&);
-	CUssdMessagingPtrHolder* iUssdMessagingPtrHolder;
-protected:
-	IMPORT_C void ConstructL();
-	IMPORT_C void Destruct();
-	};
-
-
-
-/*********************************************************/
-//
-// SMS Message Storage (RMobileSmsStore)
-//
-/*********************************************************/
-
-
-
-class CSmsStorePtrHolder;
-class CMobilePhoneSmsList;
-class RMobileSmsStore : public RMobilePhoneStore
-/** Provides client access to SMS storage functionality provided by TSY.
-@publishedPartner
-@released
-*/
-	{
-public:
-
-	IMPORT_C RMobileSmsStore();
-	IMPORT_C TInt Open(RMobileSmsMessaging& aMessaging, const TDesC& aStoreName);
-	IMPORT_C void Close();
-
-/** Defines the SMS Store Capabilities.
-
-Modes: Common */
-	enum TMobileSmsStoreCaps
-		{
-	/** The store contains unread, incoming SMS entries.
-	
-	Modes: Common */
-		KCapsUnreadMessages = 0x00000001,
-	/** The store contains read, incoming SMS entries.
-	
-	Modes: Common */
-		KCapsReadMessages = 0x00000002,
-	/** The store contains sent SMS entries.
-	
-	Modes: Common */
-		KCapsSentMessages = 0x00000004,
-	/** The store contains un sent SMS entries. */
-		KCapsUnsentMessages = 0x00000008,
-	/** The store contains GSM SMS message entries – so TMobileGsmSmsEntryV1 class 
-	should be used.
-	
-	Modes: GSM/WCDMA */
-		KCapsGsmMessages = 0x00000010,
-	/** The store contains CDMA SMS message entries – so TMobileCdmaSmsEntryV1 class 
-	should be used.
-	
-	Modes: CDMA */
-		KCapsCdmaMessages = 0x00000020
-		};
-
-/** Defines contents of a fixed-size, stored SMS entry.
-
-Modes: Common */
-	enum TMobileSmsStoreStatus
-		{
-	/** The status of the SMS is unknown. */
-		EStoredMessageUnknownStatus,
-	/** The SMS is stored phone-side. It is an incoming message that has not been read 
-	yet. */
-		EStoredMessageUnread,
-	/** The SMS is stored phone-side. It is an incoming message that has already been 
-	read. */
-		EStoredMessageRead,
-	/** The SMS is stored phone-side. It is an outgoing message that has not been sent 
-	yet. */
-		EStoredMessageUnsent,
-	/** The SMS is stored phone-side. It is an outgoing message that has already been 
-	sent but a delivery/status report has either not been received yet or was 
-	not requested in the first place. */
-		EStoredMessageSent,
-	/** The SMS is stored phone-side. It is an outgoing message that has already been 
-	sent and a delivery/status report has been received */
-		EStoredMessageDelivered
-		};
-
-	//
-	// Enum used by TSY to distinguish which SMS entry class is used by client
-	//
-
-/** Used by TSY to distinguish which SMS entry class is used by client. */
-	enum TMobileSmsEntryExtensionId
-		{
-	/** Type is unknown. */
-		KETelMobileSmsEntryV1=KETelExtMultimodeV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileGsmSmsEntryV1.
-	
-	Also used to indicate that GSM SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */
-		KETelMobileGsmSmsEntryV1,
-	/** The iExtensionId contents indicate that the packaged class is a TMobileCdmaSmsEntryV1.
-	
-	Also used to indicate that CDMA SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */
-		KETelMobileCdmaSmsEntryV1
-		};
-
-	class TMobileSmsEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
-	/** Defines contents of a fixed-size, stored SMS entry.
-	@publishedPartner
-	@released 
-	*/
-		{
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	protected:
-		TMobileSmsEntryV1();
-	public:
-	/** The status of the stored message.
-	
-	Modes: Common
-	
-	@see TMobileSmsStoreStatus */
-		TMobileSmsStoreStatus	iMsgStatus;	
-		};
-
-/** A typedef'd packaged TMobileSmsEntryV1 for passing through a generic API 
-member function. */
-	typedef TPckg<TMobileSmsEntryV1> TMobileSmsEntryV1Pckg;
-	
-	class TMobileGsmSmsEntryV1 : public TMobileSmsEntryV1
-/** Defines contents of a fixed-size, stored GSM SMS entry.
-@publishedPartner
-@released */
-		{
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-		IMPORT_C TMobileGsmSmsEntryV1();
-	public:
-	/** The service centre to use (or used) for the message.
-	
-	Modes: GSM/WCDMA
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iServiceCentre;
-	/** The GSM 03.40 TPDU.
-	
-	Modes: GSM/WCDMA
-	
-	@see RMobileSmsMessaging::TMobileSmsGsmTpdu */
-		RMobileSmsMessaging::TMobileSmsGsmTpdu	iMsgData;	
-		};
-
-/** A typedef'd packaged TMobileGsmSmsEntryV1 for passing through a generic API 
-member function. */
-	typedef TPckg<TMobileGsmSmsEntryV1> TMobileGsmSmsEntryV1Pckg;
-
-	class TMobileCdmaSmsEntryV1 : public TMobileSmsEntryV1
-	/** Defines contents of a fixed-size, stored CDMA SMS entry. 
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-		IMPORT_C TMobileCdmaSmsEntryV1();
-	public:
-	/** The teleservice identifier of the stored message.
-	
-	Modes: CDMA */
-		TInt iTeleservice;
-	/** The service category of the stored message.
-	
-	Modes: CDMA */
-		TInt iServiceCategory;
-	/** The remote party (destination or originator) of the stored message.
-	
-	Modes: CDMA
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iRemoteParty;
-	/** The teleservice layer bearer data of the stored message.
-	
-	Modes: CDMA
-	
-	@see RMobileSmsMessaging::TMobileSmsCdmaTpdu */
-		RMobileSmsMessaging::TMobileSmsCdmaTpdu iMsgData;	
-		};
-
-/** A typedef'd packaged TMobileCdmaSmsEntryV1 for passing through a generic API 
-member function. */
-	typedef TPckg<TMobileCdmaSmsEntryV1> TMobileCdmaSmsEntryV1Pckg;
-
-protected:
-	IMPORT_C void ConstructL();
-private:
-	RMobileSmsStore(const RMobileSmsStore&);
-	};
-
-/*********************************************************/
-//
-// NAM Storage (RMobileNamStore)
-//
-/*********************************************************/
-
-
-
-class CNamStorePtrHolder;
-class CMobilePhoneNamList;
-class CMobilePhoneNamListV4;
-
-class RMobileNamStore : public RMobilePhoneStore
-/**
-Provides client access to NAM storage functionality provided by TSY
-
-*/
-	{
-public:
-	IMPORT_C RMobileNamStore();
-	IMPORT_C TInt Open(RMobilePhone& aPhone);
-	IMPORT_C void Close();
-
-
-
-	class TMobileNamStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
-	/**
-	Defines information about a NAM store
-	
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileNamStoreInfoV1();
-	public:
-	/** The number of enabled NAMs within the NAM store.
-	
-	Modes: CDMA */
-		TInt iNamCount;
-	/** The index of the NAM that is currently the active NAM, will be between 0 and 
-	iNamCount-1.
-	
-	Modes: CDMA */
-		TInt iActiveNam;
-		};
-
-/** A typedef'd packaged TMobileNamStoreInfoV1 for passing through a generic API 
-member function. */
-	typedef TPckg<TMobileNamStoreInfoV1> TMobileNamStoreInfoV1Pckg;
-
-	IMPORT_C void SetActiveNam(TRequestStatus& aReqStatus, TInt aNamId) const;
-
-	enum
-		{
-		/* The original maximum NAM parameter size for a TMobileNamEntryV1 */
-		KMaxNamParamSize = 64,
-		/* Updated maximum NAM parameter size for TMobileNamEntryV4 */
-		KMaxNamParamSizeV4 = 256
-		};
-
-	class TMobileNamEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
-	/**
-	Defines contents of a NAM store entry
-	
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileNamEntryV1();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-	/** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfoV1::iNamCount-1.
-	
-	Modes: CDMA */
-		TInt iNamId;
-	/** The identifier of the NAM parameter to be accessed.
-	
-	TSY must define values of parameter identifiers.
-	
-	Modes: CDMA */
-		TInt iParamIdentifier;
-	/** The data contents of the selected parameter.
-	
-	Modes: CDMA
-	
-	@see KMaxNamParamSize */
-		TBuf8<KMaxNamParamSize> iData;
-		};
-
-	/** A typedef'd packaged TMobileNamEntryV1 for passing through a generic API member 
-	function. */
-	typedef TPckg<TMobileNamEntryV1> TMobileNamEntryV1Pckg;
-
-	/** Enumeration for the standard NAM parameters (see 3GPP2 C.S0005-A appendix F.3)
-	Modes: CDMA */
-	enum TStandardNamParameters
-		{
-		/** The 64-bit pattern stored in the Mobile Station and 
-			Home Location Register/Authentication Centre used to generate/update the 
-			mobile station’s Shared Secret Data
-			Corresponds to NAM Indicator 'A_KEY' */
-		EAKey,
-		/** 64-bit key used for authentication
-			Corresponds to NAM Indicator 'SSD_A(s-p)' */
-		ESharedSecretDataA,
-		/** 64-bit key used as input to generate encryption mask and long code
-			Corresponds to NAM Indicator 'SSD_B(s-p)' */
-		ESharedSecretDataB,
-		/** Modulo-64 event counter maintained by the mobile station and Authentication Center 
-			used for clone detection
-			Corresponds to NAM Indicator 'COUNT(s-p)' */
-		EParameterUpdateReceivedCount,
-		/** Class of the International Mobile Station Identity (IMSI) containing a MIN as 
-			the lower 10 digits 
-			Corresponds to NAM Indicator 'IMSI_M_CLASS(p)' */
-		EMinBasedImsiClass,
-		/** The class of the International Mobile Station Identity (IMSI) not containing a MIN as 
-			the lower 10 digits 
-			Corresponds to NAM Indicator 'IMSI_T_CLASS(p)' */
-		ETrueImsiClass,
-		/** 34-bit number derived from the IMSI M used as input for authentication
-			Corresponds to NAM Indicator 'IMSI_M_S(p)' */
-		EMinBasedImsiS,
-		/** 34-bit number derived from the IMSI T used as input for authentication
-			Corresponds to NAM Indicator 'IMSI_T_S(p)' */
-		ETrueImsiS,
-		/** Number of digits in the IMSI M minus 4
-			Corresponds to NAM Indicator 'IMSI_M_ADDR_NUM(p)' */
-		EMinBasedImsiAddressNum,
-		/** The number of digits in the IMSI T minus 4
-			Corresponds to NAM Indicator 'IMSI_T_ADDR_NUM(p)' */
-		ETrueImsiAddressNum,
-		/** The 11th and 12th digits in the IMSI M
-			Corresponds to NAM Indicator 'IMSI_M_11_12(p)' */
-		EMinBasedImsiDigits11and12,
-		/** The 11th and 12th digits in the IMSI T
-			Corresponds to NAM Indicator 'IMSI_T_11_12(p)' */
-		ETrueImsiDigits11and12,
-		/** The country code for the IMSI M
-			Corresponds to NAM Indicator 'MCC_M(p)' */
-		EMinBasedMobileCountryCode,
-		/** The country code for the IMSI T
-			Corresponds to NAM Indicator 'MCC_T(p)' */
-		ETrueMobileCountryCode,
-		/** Up to 15 digit dialable number associated with the mobile station through a service 
-			subscription
-			Corresponds to NAM Indicator 'MDN(p)' */
-		EMobileDirectoryNumber,
-		/** 4-bit number giving the length of the assigning Temporary Mobile Station Identity (TMSI) zone 
-			(can range from 1 to 8 octets)
-			Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE_LEN(s-p)' */
-		EAssigningTmsiZoneLen,
-		/** Temporary Mobile Station Identity (TMSI) zone is an arbitrary set of base stations 
-			for the administrative assignment of TMSI
-			Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE(s-p)' */
-		EAssigningTmsiZone,
-		/** The uniquely assigned number to a mobile station inside a TMSI zone
-			Corresponds to NAM Indicator 'TMSI_CODE(s-p)' */
-		ETmsiCode,
-		/** The expiration time used to automatically delete the assigned TMSI
-			Corresponds to NAM Indicator 'TMSI_EXP_TIME(s-p)' */
-		ETmsiExpTime,
-		/** Mobile station's home System Id for 800MHz analog operation
-			Corresponds to NAM Indicator 'HOME_SID(p)' */
-		EHomeSystemIdAnalog,
-		/** Mobile station's home System Id
-			Corresponds to NAM Indicator 'SID(p)' */
-		EHomeSystemId,
-		/** Mobile station's home Network Id
-			Corresponds to NAM Indicator 'NID(p)' */
-		EHomeNetworkId,
-		/** Mobile station is configured to receive mobile station terminated calls when 
-			using a home (SID, NID) pair
-			Corresponds to NAM Indicator 'MOB_TERM_HOME(p)' */
-		EReceiveCallsHome,
-		/** The mobile station is configured to receive mobile station terminated calls when 
-			it is a foreign SID roamer
-			Corresponds to NAM Indicator 'MOB_TERM_FOR_SID(p)' */
-		EReceiveCallsForeignSystem,
-		/** The mobile station is configured to receive mobile station terminated calls when 
-			it is a foreign NID roamer
-			Corresponds to NAM Indicator 'MOB_TERM_FOR_NID(p)' */
-		EReceiveCallsForeignNetwork,
-		/**	A TSY may use this as the first TSY-defined non-standard NAM parameter */
-		ENumStandardNamParameters
-		};
-
-	class TMobileNamEntryV4 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
-	/**
-	Defines contents of a NAM store entry
-
-	The differences between the original TMobileNamEntryV1, and updated TMobileNamEntryV4 are:
-	- the maximum mobile NAM parameter size is KMaxNamParamSize(64) for TMobileNamEntryV1
-	  and KMaxNamParamSizeV4(256) for TMobileNamEntryV4
-	- TMobileNamEntryV4 defines a set of standard NAM parameters for the iParamIdentifier as
-	  described in 3GPP2 C.S0005-A appendix F.3
-	
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileNamEntryV4();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-	/** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfo::iNamCount-1.
-	
-	Modes: CDMA */
-		TInt iNamId;
-
-	/** The identifier of the NAM parameter to be accessed.
-	iParamIdentifier will be a TStandardNamParameters value if a standard NAM parameter is being accessed, 
-	however a TSY may support and define NAM parameters in addition to those given by TStandardNamParameters	
-	Modes: CDMA */
-		TInt iParamIdentifier;
-
-	/** The data contents of the selected parameter.
-	
-	Modes: CDMA
-	
-	@see KMaxNamParamSizeV4 */
-		TBuf8<KMaxNamParamSizeV4> iData;
-		};
-
-	/** A typedef'd packaged TMobileNamEntryV4 for passing through a generic API member 
-	function. */
-	typedef TPckg<TMobileNamEntryV4> TMobileNamEntryV4Pckg;
-
-	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamList* aNamList) const;
-	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamListV4* aNamList) const;
-
-protected:
-	IMPORT_C void ConstructL();
-private:
-	RMobileNamStore(const RMobileNamStore&);
-	};
-
-
-/*********************************************************/
-//
-// Own Number Storage (RMobileONStore)
-//
-/*********************************************************/
-
-
-
-class CONStorePtrHolder;
-class CMobilePhoneONList;
-	
-class RMobileONStore : public RMobilePhoneStore
-/**
-Provides client access to Own Number storage functionality provided by TSY
-
-*/
-	{
-public:
-	IMPORT_C RMobileONStore();
-	IMPORT_C TInt Open(RMobilePhone& aPhone);
-	IMPORT_C void Close();
-
-	
-
-	class TMobileONStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
-	/**
-	Defines information about an Own Number store
-	
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileONStoreInfoV1();
-	public:
-	/** The maximum length of the own phone number can be. */
-		TInt iNumberLen;
-	/** The maximum length the text field can be. */
-		TInt iTextLen;
-		};
-
-/** A typedef'd packaged TMobileONStoreInfoV1 for passing through a generic API 
-member function. */
-	typedef TPckg<TMobileONStoreInfoV1> TMobileONStoreInfoV1Pckg;
-
-	enum
-		{
-		KOwnNumberTextSize = 20
-		};
-
-	
-
-	class TMobileONEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
-	/**
-	Defines contents of a Own Number store entry
-	
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileONEntryV1();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-	/** Network mode. */
-		RMobilePhone::TMobilePhoneNetworkMode iMode;
-	/** Mobile call service type.
-	
-	@see RMobilePhone::TMobileService */
-		RMobilePhone::TMobileService iService;
-	/** Own number.
-	
-	@see RMobilePhone::TMobileAddress */
-		RMobilePhone::TMobileAddress iNumber;
-	/** The name-tag associated with own number (e.g. "Voice Number"). */
-		TBuf<KOwnNumberTextSize> iText;
-		};
-
-/** A typedef'd packaged TMobileONEntryV1 for passing through a generic API member 
-function. */
-	typedef TPckg<TMobileONEntryV1> TMobileONEntryV1Pckg;
-
-	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, CMobilePhoneONList* aONList) const;
-
-protected:
-	IMPORT_C void ConstructL();
-private:
-	RMobileONStore(const RMobileONStore&);
-	};
-
-/*********************************************************/
-//
-// Emergency Number Storage (RMobileENStore)
-//
-/*********************************************************/
-
-
-
-class CMobilePhoneENList;
-
-class RMobileENStore : public RMobilePhoneStore
-/**
-Provides client access to Emergency Number storage functionality provided by TSY
-
-*/
-	{
-public:
-	IMPORT_C RMobileENStore();
-	IMPORT_C TInt Open(RMobilePhone& aPhone);
-	IMPORT_C void Close();
-
-	enum 
-		{
-		KEmergencyNumberSize  = 6,
-		KEmergencyAlphaTagSize = 20
-		};
-
-/** Enumerated list of Emergency Number entries.
-
-Mode: WCDMA */
-	enum TMobilePhoneENServiceCategory
-		{
-	/** This number provides emergency care by the police department. */
-		KServiceCatPolice =0x0001,
-	/** This number provides emergency care by the ambulance department. */
-		KServiceCatAmbulance =0x0002,
-	/** This number provides emergency care by the fire brigade department. */
-		KServiceCatFireBrigade =0x0004,
-	/** This number provides emergency care by the marine guard department. */
-		KServiceCatMarineGuard =0x0008,
-	/** This number provides emergency care by the mountain rescue department. */
-		KServiceCatMountainRescue =0x0010
-		// Reserved types: 0x0020,0x0040,
-		};
-
-	
-
-/** Buffer to hold the emergency number in. */
-	typedef TBuf<KEmergencyNumberSize> TEmergencyNumber;
-
-	class TMobileENEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
-	/**
-	Defines contents of a Emergency Number store entry
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-		IMPORT_C TMobileENEntryV1();
-	public:
-		void InternalizeL(RReadStream& aStream);
-		void ExternalizeL(RWriteStream& aStream) const;
-	public:
-	/** Indicates whether the emergency number is applicable in all situations (=EFalse) 
-	or only when the MS is registered to a specific GSM or CDMA network (=ETrue). */
-		TBool iNetworkSpecific;
-	/** The network mode. Only applicable if iNetworkSpecific equals ETrue.
-
-	Modes: Common
-	
-	@see RMobilePhone::TMobilePhoneNetworkMode */
-		RMobilePhone::TMobilePhoneNetworkMode iMode;
-	/** Country code. Only applicable if iNetworkSpecific equals ETrue.
-	
-	Modes: Common
-	
-	@see RMobilePhone::TMobilePhoneNetworkCountryCode */
-		RMobilePhone::TMobilePhoneNetworkCountryCode iCountryCode;
-	/** Network identity. Only applicable if iNetworkSpecific equals ETrue.
-	
-	Modes: Common
-	
-	@see RMobilePhone::TMobilePhoneNetworkIdentity */
-		RMobilePhone::TMobilePhoneNetworkIdentity iIdentity;
-	/** Emergency number.
-	
-	Modes: Common
-	
-	@see TEmergencyNumber */
-		TEmergencyNumber             iNumber;
-	/** Emergency call number type. It is used to display information about the dialed 
-	emergency number (e.g. "Police", "Ambulance", "Fire brigade", etc.)
-	
-	Modes: WCDMA */
-		TBuf<KEmergencyAlphaTagSize> iAlphaId;
-		//TInt should map to TMobilePhoneENServiceCategory.
-		//It was not changed to maintain source compatibility
-		
-	/** Emergency call type indicator, which contains information to be sent to the 
-	network indicating the type of emergency call.
-	
-	The field is for future reference only and it is set to RFU (Reserved for
-	Future Use) as it is currently not being used, as specified in section 4.2.21 
-	TS 31.102 v3.3.0 Rel 99.
-	
-	Modes: WCDMA */
-		TInt	                     iCallType; 
-		};
-
-	typedef TPckg<TMobileENEntryV1> TMobileENEntryV1Pckg;
-
-protected:
-	IMPORT_C void ConstructL();
-private:
-	RMobileENStore(const RMobileENStore&);
-	};
-
-
-/*********************************************************/
-//
-// RMobilePhoneBookStore 
-//
-/*********************************************************/
-
-
-
-class CPhoneBookStorePtrHolder;
-class CMobilePhoneBookList;
-
-class RMobilePhoneBookStore : public RMobilePhoneStore
-/** Provides member functions for clients to access phone 
-books that are stored in ICC memory or in non-volatile memory on the phone 
-itself. This sub-session and the member functions within this section must 
-be supported if the TSY indicates that it supports the MobilePhonebookStore 
-functional unit.
-@publishedPartner
-@released 
-*/
-	{
-public:
-	IMPORT_C RMobilePhoneBookStore();
-	IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore);
-	IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore, const TDesC& aMode);
-	IMPORT_C void Close();
-
-/** Describes the specialized phone book capabilities.
-
-Modes: Common */
-	enum TMobilePhoneBookCaps
-		{
-	/** New entries can only be written to (or deleted from) the phone book with the 
-	PIN2 password or equivalent.
-	
-	Modes: Common */
-		KCapsRestrictedWriteAccess = 0x00000001,
-	/** The phonebook supports the second name field.
-	
-	Modes: WCDMA */
-		KCapsSecondNameUsed        = 0x00000002,
-	/** The phonebook supports the additional number (with optional Text, TON, NPI 
-	and Bearer Capability) field.
-	
-	Modes: WCDMA */
-		KCapsAdditionalNumUsed     = 0x00000004,
-	/** The phonebook supports the group name field.
-	
-	Modes: WCDMA */
-		KCapsGroupingUsed		   = 0x00000008,
-	/** The phonebook supports entry control and hidden flag fields.
-
-	Modes: WCDMA */
-		KCapsEntryControlUsed      = 0x00000010,
-	/** The phonebook supports the email address field.
-	
-	Modes: WCDMA */
-		KCapsEmailAddressUsed      = 0x00000020,
-	/** The phonebook supports the bearer capability IE field.
-	
-	Modes: WCDMA */
-		KCapsBearerCapUsed		   = 0x00000040,
-	/** The phonebook supports retrieval of the phonebook's PBID and Change Counter 
-	- and for each entry its UID field.
-	
-	Modes: WCDMA */
-		KCapsSynchronisationUsed   = 0x00000080
-		};
-
-/** Described the location of the phone book.
-
-Modes: Common for all */
-	enum TMobilePhoneBookLocation
-		{
-	/** The phonebook's location is unknown. */
-		ELocationUnknown,
-	/** The phonebook is located in ICC (SIM/R-UIM) memory. */
-		ELocationIccMemory,
-	/** The phonebook is located in Phone (ME) memory. */
-		ELocationPhoneMemory,
-	/** The phonebook is located in an external memory. */
-		ELocationExternalMemory,
-	/** The phonebook entries are dispersed over a combination of memory locations. */
-		ELocationCombinedMemory
-		};
-
-	enum
-		{
-		KMaxPBIDSize=15
-		};
-
-/** Defines a modifiable buffer descriptor to contain the phone book identity. 
-Used in TMobilePhoneBookInfoV1. */
-	typedef TBuf8<KMaxPBIDSize> TMobilePhoneBookIdentity;
-
-	
-
-	class TMobilePhoneBookInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
-	/**
-	Defines information about a Phonebook store.
-	@publishedPartner
-	@released
-	*/
-		{
-	public:
-	/** Trivial constructor. Initializes iMaxNumLength=-1; iMaxTextLength=-1; iLocation=ELocationUnknown; 
-	iChangeCounter=0; iExtensionId=KETelMobilePhonebookStoreV1; */
-		IMPORT_C TMobilePhoneBookInfoV1();
-	public:
-	/** The maximum number of characters for the number in a phonebook entry.
-	
-	Modes: Common */
-		TInt    iMaxNumLength;
-	/** The maximum number of characters for the text tag in a phonebook entry.
-	
-	Modes: Common */
-		TInt    iMaxTextLength;
-	/** The memory location of this phonebook.
-	
-	Modes: Common
-	
-	@see TMobilePhoneBookLocation */
-		TMobilePhoneBookLocation iLocation;
-	/** The contents of the Change Counter file in a USIM phonebook.
-	
-	Modes: WCDMA */
-		TUint16 iChangeCounter;
-	/** A unique identity for this type of phonebook.
-	
-	If this is a SIM or R-UIM phonebook then it will equal the ICCID of the card.
-	
-	If this is a USIM phonebook then it will equal the PBID of the phonebook. 
-	
-	Modes: Common
-	
-	@see TMobilePhoneBookIdentity */
-		TMobilePhoneBookIdentity iIdentity; 
-		};
-
-/** Packages the TMobilePhoneBookInfoV1 into a TMobilePhoneBookInfoV1Pckg. */
-	typedef TPckg<TMobilePhoneBookInfoV1> TMobilePhoneBookInfoV1Pckg;
-
-	
-	class TMobilePhoneBookInfoV2 : public TMobilePhoneBookInfoV1
-/** Defines information about a Phonebook store for version v2.0 of the API.
-@publishedPartner
-@released */
-		{
-	public:
-		IMPORT_C TMobilePhoneBookInfoV2();
-	public:
-	/** The type of the phonebook which relates to its location (ICC/UICC/CDMA).
-	
-	Mode: Common */
-		TName iPhBkMode; 
-		};
-
-/** Packages the TMobilePhoneBookInfoV2 into a TMobilePhoneBookInfoV1Pckg. */
-	typedef TPckg<TMobilePhoneBookInfoV2> TMobilePhoneBookInfoV2Pckg;
-
-
-	/** Defines information about a Phonebook store for version v5.0 of the API.
-
-	Extends the v2.0 API to allow additional information about the phonebook
-	(Maximum number of second name fields, Maximum number of additional number fields,
-	Maximum number of additional group name fields, Maximum number of email address fields)
-	to be retieved where available. 
-
-	@publishedPartner
-	@released*/
-	class TMobilePhoneBookInfoV5 : public TMobilePhoneBookInfoV2
-		{
-	public:
-		IMPORT_C TMobilePhoneBookInfoV5();
-	public:
-		/** The maximum number of Second Name fields that can be used. */
-		TInt iMaxSecondNames;
-		
-		/** The maximum text length for Second Name fields. */
-		TInt iMaxTextLengthSecondName;
-
-		/** The maximum number of additional number fields that can be used. */
-		TInt iMaxAdditionalNumbers;
-		
-		/** The maximum number length for Additional Number fields. */
-		TInt iMaxNumLengthAdditionalNumber;
-		
-		/** The maximum text length for Additonal Number fields. */
-		TInt iMaxTextLengthAdditionalNumber;
-
-		/** The maximum number of additional Group Name fields that can be used. */
-		TInt iMaxGroupNames;
-		
-		/** The maximum text length for Group Name fields. */
-		TInt iMaxTextLengthGroupName;
-		
-		/** The maximum number of additional E-Mail address fields that can be used. */
-		TInt iMaxEmailAddr;
-		
-		/** The maximum text length for Email Address fields. */
-		TInt iMaxTextLengthEmailAddr;
-		};
-
-	/** Packages the TMobilePhoneBookInfoV5 into a TMobilePhoneBookInfoV5Pckg. */
-	typedef TPckg<TMobilePhoneBookInfoV5> TMobilePhoneBookInfoV5Pckg;
-
-
-	// check these fields - not sure all are correct
-/** The following Tag IDs are used to encode/decode the phonebook entries to/from 
-the TLV format. Each field will have a unique identifier and will be followed 
-by the field length. The type of data associated with the field is also specified 
-below. 
-
-Some fields do not have any data and just serve as separators within the buffer 
-- in these cases the Data Type column is set to not applicable (n/a).
-
-Modes: Common */
-	enum TMobilePBFieldTags
-		{
-	/** Tag id for the beginning of a new phonebook entry.
-	
-	Data type: n/a.
-	
-	Modes: Common */
-		ETagPBNewEntry		=0xA0,
-	/** Tag id for the Unique ID field.
-	
-	Data type: TUint16
-
-	Modes: WCDMA */
-		ETagPBUniqueId		=0xB0,
-	/** Tag id for the Index within the ADN record.
-	
-	Data type: TUint16
-
-	Modes: Common */
-		ETagPBAdnIndex		=0xC0,
-	/** Tag id for a Text field within the ADN/ANR record.
-	
-	Data type: TDes16
-	
-	Modes: Common */
-		ETagPBText			=0xC1,
-	/** Tag id for a Number field within the ADN/ANR record.
-	
-	Data type: TDes16
-	
-	Modes: Common */
-		ETagPBNumber		=0xC2,
-	/** Tag id for a TON/NPI byte within the ADN/ANR record.
-	
-	Data type: TUint8
-	
-	Modes: Common */
-		ETagPBTonNpi		=0xC3,
-	/** Tag id for a Bearer Capability IE associated to the ADN/ANR record.
-	
-	Data type: TDes8
-	
-	Modes: GSM/WCDMA */
-		ETagPBBearerCap		=0xC4,
-	/** Tag id for the beginning of an Additional Number entry within the phonebook 
-	entry.
-	
-	Data type: n/a
-	
-	Modes: WCDMA */
-		ETagPBAnrStart		=0xC5,
-	/** Tag id for the Second Name associated to the ADN record.
-	
-	Data type: TDes16
-	
-	Modes: WCDMA */
-		ETagPBSecondName	=0xC6,
-	/** Tag id for a Group Name associated to the ADN record.
-	
-	Data type:TDes16
-	
-	Modes: WCDMA */
-		ETagPBGroupName		=0xC7,
-	/** Tag id for an Email Address associated to the ADN record.
-	
-	Data type: TDes16
-	
-	Modes: WCDMA */
-		ETagPBEmailAddress	=0xC8,
-	/** Tag id for the Entry Control byte associated to the ADN record.
-	
-	Data type: TUint8
-	
-	Modes: WCDMA */
-		ETagPBEntryControl	=0xC9,
-	/** Tag id for the Hidden Information byte associated to the ADN record.
-	
-	Data type: TUint8
-	
-	Modes: WCDMA */
-		ETagPBHiddenInfo	=0xCA,
-		ETagPBDateTime		=0xCB,
-		ETagPBDuration		=0xCC,
-		ETagPBCallStatus	=0xCD,
-		ETagPBEntryStatus	=0xCE
-		};
-
-
-	// API/TSY internal type
-	struct TPBIndexAndNumEntries
-/** A structure to hold the phone book index and number of entries. */
-		{
-	/** Index for the phone book. */
-		TInt iIndex;
-		TInt iNumSlots;
-		};
-
-	IMPORT_C void Read(TRequestStatus& aReqStatus, TInt aIndex, TInt aNumSlots, TDes8& aPBData) const;
-	IMPORT_C void Write(TRequestStatus& aReqStatus, const TDesC8& aPBData, TInt& aIndex) const;
-
-protected:
-	IMPORT_C void ConstructL();
-private:
-	RMobilePhoneBookStore(const RMobilePhoneBookStore&);
-	};
-
-/*********************************************************/
-//
-// RMobileConferenceCall
-//
-/*********************************************************/
-
-
-
-class CMobileConferenceCallPtrHolder;
-
-class RMobileConferenceCall : public RTelSubSessionBase
-/** Provides access to conference call functionality provided by TSY.
-
-Conference calls allow users to conduct multi-connection voice calls, for example
-simultaneous communication to more than one remote party. All participants 
-within a conference call can hear and speak to each other. There is a controlling 
-party that initiates and manages the conference.
-
-Conference calling is possible in both GSM and CDMA mode and the actions to 
-initiate a 3-way conference are the same in either mode. However, GSM conference 
-calls offer more functionality and the number of remote parties is limited 
-in CDMA mode to 2 and in GSM mode to 5.
-
-The Multimode ETel API uses a new sub-session called RMobileConferenceCall 
-as a model for a conference call. The conference call object will be an aggregation 
-of all the RMobileCall objects that are part of the conference call. It will 
-be possible for clients to manipulate both the conference call as a whole 
-and individual calls within a conference call depending on the dynamic capabilities 
-of each of these objects.
-
-Please note that RMobileConferenceCall is replacing the RCallGroup abstraction 
-used in the GSM API. This was an optimisation decision. The call group abstraction 
-placed a large burden on a TSY to create call groups, monitor the calls in 
-each group and trigger notification when calls were added or moved, probably 
-even when a conference call was not ongoing. Clients will probably only open 
-a RMobileConferenceCall when the user has decided to make a conference call 
-and by having just one object replace three call groups it will also reduce 
-the number of notifications that would trigger in response to conference call 
-events. With a view to the future, without call groups there are also no longer 
-any restrictions to the allowed types of active calls (simultaneous, separate 
-voice and data calls are possible).
-
-The methods within this section must be supported if the TSY supports MobileConferenceCall 
-functional unit. 
-
-*/
-	{
-public:
-	IMPORT_C RMobileConferenceCall();
-	IMPORT_C TInt Open(RMobilePhone& aPhone);
-	IMPORT_C void Close();
-
-/** Conference call capabilities. */
-	enum TMobileConferenceCallCaps
-		{
-	/** Indicates that a conference call can be created. */
-		KCapsCreate = 0x00000001,
-	/** Indicates that a conference call can be terminated. */
-		KCapsHangUp = 0x00000002,
-	/** Indicates that a conference call exists and can be swapped to the opposite 
-	state (active or hold). */
-		KCapsSwap = 0x00000004
-		};
-
-	IMPORT_C TInt GetCaps(TUint32& aCaps) const;
-	IMPORT_C void NotifyCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
-
-	IMPORT_C void CreateConference(TRequestStatus& aReqStatus) const;
-	IMPORT_C void AddCall(TRequestStatus& aReqStatus, const TName& aCallName) const;
-	IMPORT_C void Swap(TRequestStatus& aReqStatus) const;
-	IMPORT_C void HangUp(TRequestStatus& aReqStatus) const;
-	IMPORT_C TInt EnumerateCalls(TInt& aCount) const;
-	IMPORT_C TInt GetMobileCallInfo(TInt aIndex, TDes8& aCallInfo) const;
-
-/** Conference call status. */
-	enum TMobileConferenceStatus
-		{
-	/** The conference call is in the idle state. */
-		EConferenceIdle,
-	/** The conference call is in the active, connected state. */
-		EConferenceActive,
-	/** The conference call is in the held, connected state. */
-		EConferenceHold
-		};
-	
-	IMPORT_C TInt GetConferenceStatus(TMobileConferenceStatus& aStatus) const;
-	IMPORT_C void NotifyConferenceStatusChange(TRequestStatus& aReqStatus, TMobileConferenceStatus& aStatus) const;
-
-/** Conference events. */
-	enum TMobileConferenceEvent
-		{
-	/** A call has been added to the conference. */
-		EConferenceCallAdded,		// Name of the call added returned in aCallName
-	/** A call has been removed from the conference. */
-		EConferenceCallRemoved,		// Name of the call terminated returned in aCallName
-	/** Names of the two calls used to build the conference call returned in aCallName. */
-		EConferenceBuilt,		// Names of the two calls used to build the conference call returned in aCallName
-	/** No name provided */
-		EConferenceTerminated,	// No name provided
-	/** No name provided. */
-		EConferenceSwapped,		// No name provided
-	/** Name of the call being seperated. */
-		EConferenceSplit		// Name of the call being seperated
-		};
-
-	IMPORT_C void NotifyConferenceEvent(TRequestStatus& aReqStatus, TMobileConferenceEvent& aEvent, TName& aCallName) const;
-
-private:
-	CMobileConferenceCallPtrHolder* iMmPtrHolder;
-	RMobileConferenceCall(const RMobileConferenceCall&);
-protected:
-	IMPORT_C void ConstructL();
-	IMPORT_C void Destruct();
-	};
-
-
-/////////////////////////////////////////////////////////////////////////////////////
-//
-// EAP-SIM Authentication functional unit
-//
-/////////////////////////////////////////////////////////////////////////////////////
-
-class CMobileSmartCardEapPtrHolder;
-
-/**
-This sub-session opens under RMobilePhone.
-
-RMobileSmartCardEap provides the client with access to a Smart Card
-Application's EAP-capability (if one exists).
-
-(See ETSI TS 102.310 v6.2.0 and RFC3748)
-
-To submit authentication challenges or requests, a client must use
-CAsyncSmartCardEapAuthentication in conjunction with this sub-session.
-
-@see CAsyncSmartCardEapAuthentication
-@publishedPartner
-@prototype
-*/
-class RMobileSmartCardEap : public RTelSubSessionBase
-	{
-	friend class CAsyncSmartCardEapAuthentication;
-
-public:
-	/**
-	Class encapsulates EAP request packet data for authentication.
-
-	@see CAsyncSmartCardEapAuthentication
-
-	@publishedPartner
-	@prototype
-	*/
-	class CEapAuthenticateRequestDataV6 : public CBase
-		{
-	public:
-		IMPORT_C static CEapAuthenticateRequestDataV6* NewL();
-		IMPORT_C virtual void ExternalizeL(TPtr8& aBuffer);
-		IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer);
-		IMPORT_C TUint VersionId() const;
-		IMPORT_C TPtr8 GetEapReqPacket() const;
-		IMPORT_C void SetEapReqPacketL(const TDesC8& aData);
-		IMPORT_C ~CEapAuthenticateRequestDataV6();
-
-	private:
-		CEapAuthenticateRequestDataV6();
-		void ConstructL();
-
-	protected:
-		/**
-		ETelMM's supported version.
-		*/
-		TUint iVersionId;
-
-	public:
-		/**
-		EAP-request packet in a flat buffer.
-		*/
-		CBufFlat* iEapReqPacket;
-		};
-
-	IMPORT_C RMobileSmartCardEap();
-
-	/**
-	EAP types are represented by one byte for standard EAP methods, and
-	eight bytes for extended methods.  Each byte specified in the
-	TEapType buffer should represent one semi-octet.  Therefore, a
-	maximum of 16-chars are needed for representing any possible EAP
-	type.  (See section 5.2 of ETSI TS 102.310 v6.2.0.)
-
-	@see RMobileSmartCardEap::TEapType
-
-	@publishedPartner
-	@prototype
-	*/
-	enum { KEapTypeSize = 16 };
-
-	/**
-	A typedef'd buffer to hold the EAP type for the subsequent
-	authentication that will be carried out on the Smart Card
-	Application.
-
-	The value specified must correspond to the pre-allocated type
-	identifiers for various EAPs (see
-	http://www.iana.org/assignments/eap-numbers).  Some known values
-	are given in etelmm.h.
-
-	The type must be specified in hexadecimal format, where each
-	character represents one semi-octet.
-
-	@see KETelSmartCardEapTypeMD5
-	@see KETelSmartCardEapTypeTLS
-	@see KETelSmartCardEapTypeSIM
-	@see KETelSmartCardEapTypeAKA
-	@see KETelSmartCardEapTypeTTLS
-	@see RMobileSmartCardEap::Open()
-
-	@publishedPartner
-	@prototype
-	*/
-	typedef TBuf8<KEapTypeSize> TEapType;
-
-	IMPORT_C TInt Open(RMobilePhone& aPhone, const RMobilePhone::TAID& aAID, const TEapType& aEapType);
-	IMPORT_C void InitialiseEapMethod(TRequestStatus& aReqStatus);
-	IMPORT_C void Close();
-
-	/**
-	Authentication status of the EAP supporting UICC application (See
-	section 7.2 of ETSI TS 102.310 v6.2.0).  One of these values is
-	returned on completion of an
-	RMobileSmartCardEap::GetAuthenticationStatus() request.
-
-	@see RMobileSmartCardEap::GetAuthenticationStatus()
-
-	@publishedPartner
-	@prototype
-	*/
-	enum TEapAuthStatus
-		{
-		/**
-		No authentication started
-		*/
-		ENoAuthStarted,    // 0
-		/**
-		Authenticating
-		*/
-		EAuthenticating,   // 1
-		/**
-		Authentication complete
-		*/
-		EAuthenticated,    // 2
-		/**
-		Held (authentication failure)
-		*/
-		EHeld              // 3
-		};
-
-	IMPORT_C void GetAuthenticationStatus(TRequestStatus& aReqStatus, TEapAuthStatus& aAuthStatus);
-
-	/**
-	TEapUserIdType should be used to request an identity from EF_PUId
-	or EF_Ps, when making an RMobileSmartCardEap::GetUserIdentity()
-	request.
-	(See sections 7.3 and 7.4, respectively, of ETSI TS	102.310 v6.2.0,
-	and RFC2486 - The Network Access Identifier).
-
-	@see RMobileSmartCardEap::GetUserIdentity()
-	@see RMobileSmartCardEap::TEapUserIdentityV6
-
-	@publishedPartner
-	@prototype
-	*/
-	enum TEapUserIdType
-		{
-		/** Identity is permanent type */
-		EPermanentIdentity,   // 0
-		/** Identity is pseudonym type */
-		EPseudonymIdentity    // 1
-		};
-
-	/**
-	Maximum permitted size of identity data.
-	*/
-	enum { KEapIdentityMaxSize = 255 };
-
-	/**
-	EAP User Identity data.  Ids are stored in EF_PUId or EF_Ps
-	(specified in sections 7.3 and 7.4, respectively, of ETSI TS
-	102.310 v6.2.0).
-
-	@see RMobileSmartCardEap::GetUserIdentity()
-
-	@publishedPartner
-	@prototype
-	*/
-	class TEapUserIdentityV6 : public RMobilePhone::TMultimodeType
-		{
-	public:
-		IMPORT_C TEapUserIdentityV6();
-	public:
-		/**
-		EAP-IDENTITY Data.
-		*/
-		TBuf8<KEapIdentityMaxSize> iEapId;
-		};
-
-	/**
-	A typedef'd packaged TEapUserIdentityV6 for passing through a
-	generic API method.
-
-	@publishedPartner
-	@prototype
-	*/
-	typedef TPckg<TEapUserIdentityV6> TEapUserIdentityV6Pckg;
-
-	IMPORT_C void GetUserIdentity(TRequestStatus& aReqStatus,
-	                              TEapUserIdType aRequestedIdType,
-	                              TDes8& aUserId);
-
-	/**
-	TEapKeyV6 should be used to request one of (currently) two keys
-	available on the EF_EAPKEYS of the UICC application (see section
-	7.1 of ETSI TS 102.310 v6.2.0).  This enumeration type should be
-	used in RMobileSmartCardEap::GetEapKey() to specify the key to be
-	retrieved.
-
-	@see RMobileSmartCardEap::TEapKeyV6
-	@see RMobileSmartCardEap::GetEapKey()
-
-	@publishedPartner
-	@prototype
-	*/
-	enum TEapKeyTag
-		{
-		/**
-		Used to request Master Session Key.
-		*/
-		EEapKeyMSK =  0x80,
-		/**
-		Used to request Extended Master Session Key.
-		*/
-		EEapKeyEMSK = 0x81
-		};
-
-	/**
-	Maximum size of an EAP Key stored on the DF_EAP's EF_EAPKEYS.
-	255 as each key has a length that can be specified by exactly one
-	byte (see section 7.1 of ETSI TS 102.310 v6.2.0).
-
-	@publishedPartner
-	@prototype
-	*/
-	enum { KEapKeyMaxSize = 255 };
-
-	/** 
-	EAP authentication key data.
-
-	@see RMobileSmartCardEap::GetEapKey()
-
-	@publishedPartner
-	@prototype
-	*/
-	class TEapKeyV6 : public RMobilePhone::TMultimodeType
-		{
-	public:
-		IMPORT_C TEapKeyV6();
-	public:
-		/**
-		EAP-KEY Data.
-		*/
-		TBuf8<KEapKeyMaxSize> iEapKey;
-		};
-
-	/**
-	A typedef'd packaged TEapKeyV6 for passing through a generic API
-	method.
-
-	@publishedPartner
-	@prototype
-	*/
-	typedef TPckg<TEapKeyV6> TEapKeyV6Pckg;
-
-	IMPORT_C void GetEapKey(TRequestStatus& aReqStatus, const TEapKeyTag aRequestedKey, TDes8& aKey);
-
-	/**
-	Status of the DF_EAP this subsession refers to.  The status is
-	basically an indication of whether the DF is in use by another sub-
-	session client instance.
-
-	NotifyEapMethodAccessStatusChange() will give a notification when
-	the status changes.
-
-	Status will change when the first client calls
-	InitialiseEapMethod() on this sub-session.  When the same client
-	calls ReleaseEapMethod() (or Close()), the status will change
-	again.  This allows mutually exclusive access to the DF_EAP.  All
-	other RMobileSmartCardEap hanles will get an error if they attempt
-	to make requests that access the same DF_EAP.
-
-	@see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange()
-	@see RMobileSmartCardEap::ReleaseEapMethod()
-	@see RMobileSmartCardEap::InitialiseEapMethod()
-
-	@publishedPartner
-	@prototype
-	*/
-	enum TEapMethodAccessStatus
-		{
-		/**
-		AID/DF_EAP has been reset, and the DF_EAP has not been
-		initialised by any other instance of RMobileSmartCardEap.
-		*/
-		EEapMethodAvailable,
-		/**
-		Another instance of RMobileSmartCardEap has initialised first
-		and taken ownership of the DF_EAP.  The DF_EAP is currently
-		active and EAP requests can be made.
-		*/
-		EEapMethodInUseApplicationActive,
-		/**
-		This instance of RMobileSmartCardEap still owns the lock on the
-		DF_EAP, but the application has been deactivated elsewhere.
-		The client should re-initialise before making further EAP
-		requests.
-
-		@see RMobileSmartCardEap::InitialiseEapMethod()
-		*/
-		EEapMethodInUseApplicationInactive,
-		/**
-		Lock on the DF_EAP has been released, but another DF_EAP method
-		is in use under the same AID, thus, cannot reset/initialise
-		this subsessions EAP method.  Client can only post a
-		notification and wait till status changes to
-		EEapMethodAvailable.
-
-		@see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange()
-		*/
-		EEapMethodUnableToInitialise
-		};
-
-	IMPORT_C TInt ReleaseEapMethod();
-	IMPORT_C TInt GetEapMethodAccessStatus(TEapMethodAccessStatus& aEapMethodStatus);
-	IMPORT_C void NotifyEapMethodAccessStatusChange(TRequestStatus& aReqStatus, TEapMethodAccessStatus& aEapMethodStatus);
-	IMPORT_C TBool IsEapMethodOwner() const;
-
-protected:
-	IMPORT_C void ConstructL();
-	IMPORT_C void Destruct();
-
-private:
-	RMobileSmartCardEap(const RMobileSmartCardEap&);
-
-	TChar SeptChar(TInt aDigit);
-	void ConvertBinToText(const TDesC8& aBinData, TDes& aText);
-
-private:
-	/**
-	Pointer Holder for the RMobileSmartCardEap sub-session requests.
-	*/
-	CMobileSmartCardEapPtrHolder* iMmPtrHolder;
-	/**
-	True if this object is the first to request	InitialiseEapMethod()
-	on its <AID,EAPType> when the status is EEapMethodAvailable.
-	I.e. True only for the instance of RMobileSmartCardEap that
-	successfully passes the Wait() on iSemaphore.
-	*/
-	TBool iOwnsEapMethodLock;
-	/**
-	Semaphore is actually owned by TSY, and used by all instances of
-	RMobileSmartCardEap	to stop multiple access to the same EAP method
-	on any one application.
-	*/
-	RSemaphore iSemaphore;
-
-	};	// RMobileSmartCardEap
-
-/////////////////////////////////////////////////////////////////////////////////////
-//
-// LCS-MO-LR AND LCS-MT-LR
-//
-/////////////////////////////////////////////////////////////////////////////////////
-class CMobileLocationServicesPtrHolder;
-
-/**
-This sub-session opens under RMobilePhone.
-
-A new RMobileLocationServices class is used to add the ETelMM Support for Mobile Terminating Location Request,
-Mobile Originating Location Requests, A-Gps assistance data for the LBS Framework.
-
-RMobileLocationServices is derived from RTelSubSessionBase.RMobileLocationServices lists the 
-APIs,which provided the support for Mtlr, Molr, A-Gps assistance data requests.
-*/
-class RMobileLocationServices : public RTelSubSessionBase
-	{
-public:
-	
-	IMPORT_C RMobileLocationServices();
-    IMPORT_C TInt Open(RMobilePhone& aPhone);
-    IMPORT_C void Close();
- 	/** 
- 	Maximum length of the array used for TLcsRequestorIdString.
- 	*/
-	enum { KLcsMaxRequestorIdStringSize = 256 };
-	/** 
-	Maximum length of the array used for TLcsClientBufferName.
- 	*/
-	enum { KLcsMaxClientNameBufferSize = 256 };
-	/** 
-	Maximum length of the array used for TLcsClientExternalID.
-	*/
-	enum { KLcsMaxClientExternalIdSize = 64 };
-	/** 
-	Maximum length of the array used for TLcsLocationEstimate.
-	*/
-	enum { KLcsMaxLocationEstimateSize = 64 };
-	/** 
-	Maximum length of the array used for TLcsVelocityEstimate.
-	*/
-	enum { KLcsMaxVelocityEstimateSize = 64 };
-	/** 
-	Maximum length of the array used for TLcsGpsAssistanceData.
-	*/
-	enum { KLcsMaxGpsAssistanceDataSize = 64 };
-	/** 
-	A typedef'd buffer which holds the External ClientName Buffer.
-	@see KLcsMaxClientNameBufferSize
-	*/
-	typedef TBuf8<KLcsMaxClientNameBufferSize> TLcsClientNameBuffer;
-	/** 
-	A typedef'd buffer which holds the RequestorId String.
-	@see KLcsMaxRequestorIdStringSize
-	*/
-	typedef TBuf8<KLcsMaxRequestorIdStringSize> TLcsRequestorIdString;
-	/**
-	A typedef'd buffer which holds the Gps Assistance Data.
-	@see KLcsMaxGpsAssistanceDataSize
-	*/
-	typedef TBuf8<KLcsMaxGpsAssistanceDataSize> TGpsAssistanceData;
-	/**
-	A typedef'd buffer which holds the External ClientId.
-	@see KLcsMaxClientExternalIdSize
-	*/
-	typedef TBuf8<KLcsMaxClientExternalIdSize> TLcsClientExternalID;
-	/**
-	A typedef'd TUint8 which holds the Data Coding Scheme information.
-	*/
-	typedef TUint8 TLcsDataCodingScheme;
-	/**
-	A typedef'd buffer which holds the Location Estimate.
-	@see KLcsMaxLocationEstimateSize
- 	*/
-	typedef TBuf8<KLcsMaxLocationEstimateSize> TLcsLocationEstimate;
-	/**
-	A typedef'd buffer which holds the Velocity Estimate.
-	@see KLcsMaxVelocityEstimateSize
-	*/
-	typedef TBuf8<KLcsMaxVelocityEstimateSize> TLcsVelocityEstimate;
-	/**
-	A typedef'd buffer which holds the GpsAssistanceData type.
-	@see KLcsMaxGpsAssistanceDataSize
-	*/
-	typedef TBuf8<KLcsMaxGpsAssistanceDataSize> TGpsAssistanceData;
-	typedef TUint8 TTransactionIdentifier;
-	typedef TUint8 TGPSI;
- 	 /**
-     Note:Refer to 3GPP TS 23.271(Functional stage 2 description of Location Services (LCS)),
-     3GPP TS 24.030(Location Services (LCS); Supplementary service operations - Stage 3) and
-     3GPP TS 24.080(Mobile radio interface layer 3 supplementary services specification; Formats and coding)
-     for further details of MTLR and MOLR member data.
-     */
- /*********************************************************************/ 
- //                  MTLR                                             //
- /*********************************************************************/   
-    /**
-    TNotificationType lists the various types of Notification
-    that can be expected from any MTLR-Location Notification coming from the Network,
-    These types depend on the Subscription Profile of the UE. 
-    
-    One of the TNotificationType is expected to be retrieved from the Network,
-    when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY.
-    @internalAll
-    */
-    enum TNotificationType
-		{
-		/**
-		Notification Type Unknown
-		*/
-		ENotificationTypeUnknown,
-		/**
-		The Location Request is accepted by default
-		*/
-		ENotifyLocationAllowed,
-		/**
-        This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request, 
-        and that the user is expected to respond by granting/denying the request. By defualt, if the user 
-        does not provide a response, the request is granted
-		*/
-		ENotifyAndVerify_LocationAllowedIfNoResponse,
-		/**
-        This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request, 
-        and that the user is expected to respond by granting/denying the request. By defualt, if the 
-        user does not provide a response, the request is denied.
-		*/
-		ENotifyAndVerify_LocationNotAllowedIfNoResponse,
-        /**
-        The network sends the information to the UE that the external client has privacy overide capability,
-        This indicator is received when an authenticated or emergency client had sent the request.
-		*/     
-        ELocationPrivacyOverride,  
-        /**
-        This enum is used to notify the UE that an incoming MTLR request was denied by the network for any of various 
-        reasons.
-		*/
-		ELocationNotAllowed                                      
-        };
-
-    
-    /**
-    TLocationEstimateType lists the various types of LocationEstimate
-    that can be expected from any MTLR-Location Notification request coming from the Network,
-    These types depend on the Subscription Profile of the UE.
-    
-    One of the TLocationEstimateType is expected to be retrieved from the Network,
-    when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY.
-    @internalAll
-    */
-    enum TLocationEstimateType
-		{
-		/**
-		Location Estimate Type Unknown.
-		*/
-		ELocationEstimateTypeUnknown,
-		/**
-		The External Client has requested for the Current Location of
-		the UE.
-		*/
-		ECurrentLocation,
-		/**
-		The External Client has requested for the Current Location of
-		the UE.Incase,if the request is accepted,But still it fails to
-		generate the Location report because of Measurement Control Failure.
-		The Client receives the Last Known Location.
-		*/
-		ECurrentOrLastKnownLocation,
-		/**
-		The External Client has requested for the initial location of the UE. The current 
-		location of the UE may or may not be the initial location.
-		*/
-		EInitialLocation
-		};	
-    
-    /**
-    TLcsClientNameV1 holds the details of the name of the External client, 
-    who is making the request via Network.
-    TLcsClientNameV1 is used by RMobileLocationServices::NotifyMtlr() request.
-    @see TLcsDataCodingScheme
-    @see TLcsClientNameBuffer
-    @internalAll
-    */
-    class TLcsClientNameV1
-    	{
-    public:
-    	/**
-    	TLcsDataCodingScheme holds the Data Coding Scheme information which is used
-    	to extract the ExternalClient name.
-    	*/
-    	TLcsDataCodingScheme iLcsDataCodingScheme;
-    	/**
-    	TLcsClientNameBuffer holds the Client name 		
-    	*/
-    	TLcsClientNameBuffer       iLcsClientNameBuffer;	
-    	};
-    
-    /**
-    TLcsRequestorIDV1 holds the details of the RequestorId i.e the details of the 
-    Network,Which is carrying the request of External Client to UE
-    TLcsRequestorIDV1 is used by RMobileLocationServices::NotifyMtlr() request.
-    @see TLcsDataCodingScheme
-    @see TLcsRequestorIdString 
-    @internalAll
-    */
-    class TLcsRequestorIDV1
-    	{
-    public:
-        /**
-    	TLcsDataCodingScheme holds the Data Coding Scheme information which is used
-    	to extract the RequestorId String.
-    	*/
-    	TLcsDataCodingScheme        iLcsDataCodingScheme;
-    	/**
-    	TLcsRequestorIdString holds the RequestorId String 		
-    	*/
-    	TLcsRequestorIdString       iLcsRequestorIdString;	
-    	};
-    
-    /**
-    TLocationExternalInfoV1 holds the details of the External client and the Requestor
-    TLocationExternalInfoV1 is used by RMobileLocationServices::NotifyMtlr() request
-    @see TLcsClientExternalID
-    @see TLcsClientNameV1
-    @see TLcsRequestorIDV1
-    @internalAll
-    */
-    class TLocationExternalInfoV1
-		{
-	public:
-		/**
-		TLcsClientExternalID gives the id of the External client.
-		*/
-		TLcsClientExternalID     iLcsClientID;
-		/**
-		TLcsClientNameV1 holds the name of the External Client.
-		*/
-		TLcsClientNameV1           iLcsClientName;
-		/**
-		TLcsRequestorIDV1 gives the details of requestor id
-		*/
-		TLcsRequestorIDV1          iLcsRequestorID;
-		};
-	
-	/**
-	TNotifyMtlrV7 holds the details of the MTLR request made by the External client.
-	TNotifyMtlrV7 is used by RMobileLocationServices::NotifyMtlr() request
-	@see TNotificationType
-	@see TLocationEstimateType
-	@see TLocationExternalInfoV1
-	@internalAll
-	*/
-	class TNotifyMtlrV7: public RMobilePhone::TMultimodeType 
-		{
-	public:
-		IMPORT_C TNotifyMtlrV7();
-	public:
-		/**
-		TNotificationType holds the type of notification request being made
-		*/
-		TNotificationType          iNotificationType;
-		/**
-		TLocationEstimateType holds the type of LocationEstimate is requested 
-		*/
-		TLocationEstimateType      iMtlrLocationEstimateType;
-		/**
-		TLocationExternalInfoV7  holds the details of the External client. 
-		*/
-		TLocationExternalInfoV1      iLocationInfo;
-        };
-	
-   	/**
-	A typedef'd packaged TNotifyMtlrV7 for passing through a
-	generic API method.
-
-	@internalAll
-	*/
-	typedef TPckg<TNotifyMtlrV7> TNotifyMtlrV7Pckg;
-	
- //MTLR-RESPONSE
- 	/**
- 	TMtlrResponse is used by the OverLoaded RMobileLocationServices::SendMtlrResponse() API
- 	It holds the type of response being sent back for the MTLR request made.
- 	@internalAll
- 	*/
-	
-	enum TMtlrResponse
-		{
-		/**
-		Mtlr Response Unknown.
-		*/
-		EMtlrResponseUnknown,
-		/**
-		The UE has denied the Location Request  of the External client.
-		@see RMobileLocationServices::SendMtlrResponse()
-		*/
-		EPermissionDenied ,
-		/**
-		The UE has granted  the Location Request  of the External client.
-		@see RMobileLocationServices::SendMtlrResponse()
-		*/
-		EPermissionGranted
-		};
-	
-	/**
- 	TMtlrError is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API
- 	It holds the type of Error response being sent back for the MTLR request made.
- 	@internalAll
- 	*/
- 	enum TMtlrError
-		{
-		/**
-		Mtlr Error Unknown.
-		*/
-		EMtlrErrorUnknown,
-		/**
-		This response is sent back to the network when System has failed to 
-		do the privacy check due to some Miscellaneous reasons
-		*/
-		ESystemFailure ,
-		/**
-		The response is sent when the privacy verification has failed because of Unexpected data 
-		values retrieved from the Location Notification request generated by the Network.
-		This generates an Error-Prone response from UE
-		*/
-		EUnexpectedDataValue	
-		};
-	
-	/**
- 	TMtlrReject is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API
- 	It holds the details of the Response being rejected due to one of the problems reported to the UE
- 	for the MTLR request being made.
- 	@internalAll
- 	*/
- 	enum TMtlrReject
-		{
-		/**
-		Mtlr Reject Unknown.
-		*/
-		EMtlrRejectUnknown,
-		/**
-		This indication is given under a scenario where the UE wants to reject a request,
-		It is done by invoking Duplicate ID's.
-		*/
-		EDuplicateInvokeID,
-		/**
-		This indication is given under a scenario where the UE wants to reject a request, 
-		It is done by saying the operation is not recognized
-		*/
-		EUnrecognizedOperation,
-		/**
-		This invokes a problem indicating Resource Limitation.
-		*/
-		EResourceLimitation,
-		/**
-		This Invokes a problem initiating release.
-		*/
-		EInitiatingRelease,
-		/**
-		This invokes a problem indicating that  the ID linked with the Client information 
-		is unrecognized
-		*/
-		EUnrecognizedLinkedID,
-		/**
-		This invokes a problem of Linked Response Unexpected
-		*/
-		ELinkedResponseUnexpected,
-		/**
-		This invokes a problem of Unexpected Linked Operation
-		*/
-		EUnexpectedLinkedOperation,
-		/**
-		This invokes a problem of Mistyped Parameter.
-		*/
-		EMistypedParameter	
-		};
-	
-   /**************************************************************/
-   //                  MOLR                                      //
-   /**************************************************************/
- 
- 	/**
- 	TMolrType is used by the SendMolr() API.
- 	This gives an indication of type of Molr request the UE wants to invoke
- 	@internalAll
- 	*/
- 	enum TMolrType
-		{
-		/**
-		MolrType UnKnown
-		*/
-		EMolrTypeUnknown,
-		/**
-		UE is requesting the Network for its Location Estimate  
-		*/
-		ELocationEstimate,
-		/**
-		UE is requesting the Network for  GPS Assistance data
-		*/
-		EAssistanceData,
-		/**
-		UE is requesting the Network for  DecipheringKeys
-		*/
-		EDecipheringKeys
-		};
-
- 	/**
- 	TResponseTime is used by SendMolr() API
- 	This enum holds the various types of delay that an UE is expecting.
- 	@internalAll
- 	*/
- 	enum TResponseTime
-  		{
-  		/**
-  		Response Time Unknown.
-		*/
-  		EResponseTimeunknown,
-  		/**
-  		This enum value indicates that the UE expects a Less Time Delay
-  		from Network in responding to its request
-  		*/
-  		ELowDelay,
-  		/**
-  		This enum value indicates that the UE expects a Long Time Delay
-  		from Network in responding to its request and is tolerant to it.
-  		*/
-  		EDelayTolerant		
-  		};
- 	
- 	/**
- 	TLocationMethod is used by SendMolr() API
- 	This is an enum which lists out all different types of Location methods that an UE can request
- 	@internalAll
- 	*/
- 	enum TLocationMethod
-  		{
-  		/**
-  		Location Method Unknown
-		*/
-  		ELocationMethodunknown,
-  		/**
-  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Based Location Fix.
-  		This can be termed as UE Assisted Location Fix(EOTD-Enhanced observed time difference).
-  		*/
-  		EMSBasedEOTD,
-  		/**
-  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted Location Fix.
-  		This can be termed out as UE based location fix.
-  		*/
-  		EMSAssistedEOTD,
-  		/**
-  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted GPS data.
-  		*/
-  		EMSAssistedGPS,
-  		/**
-  		This indication is given under a scenario where the UE wants a MS (Mobile Station) based location fix 
-  		(OTDOA-Observed time difference of arrival).
-  		*/
-  		EMSBasedOTDOA
-  		}; 
-   
-    /**
-    TQosV1 is used by SendMolr() API
-    This is a class with details of accuracy of Position information, Response Time, 
-    expected to be received from the network.
-    @see TResponseTime
-    @internalAll
-    */
- 	class TQosV1
-   		{
-   	public:
-    	/**
-    	This gives an information of the amount of Horizontal accuracy that the UE is expecting.
-    	*/
-    	TUint8 iHorizontalAccuracy;
-    	/**
-    	This gives an information of the amount of Vertical accuracy that the UE is expecting. 
-    	*/
-    	TUint8 iVerticalAccuracy;
-    	/**
-    	This enum indicates the Response Time expected by the UE to receive a response for its MOlr request.
-    	*/
-    	TResponseTime iResponseTime;
-    	};
-    
-    /**
-    TMolrErrors is used by SendMolr() API
-    This is an enum which lists out all the possible errors that can be 
-    reported to UE by an External Client or the Network.
-    @internalAll
-    */
-   	enum TMolrErrors
-    	{
-    	/**
-    	Molr Error Unknown
-		*/
-    	EMolrErrorUnknown,
-    	/**
-    	This indication is given to the UE when the Location Report is unable to reach the 
-    	External Client due to some failure in the Network Connections.
-    	*/
-        EMolrSystemFailure, 
-        /**
-        This indication is given back to the UE by the Network to the UE or by the 
-        External Client to the UE,where the UE generated MOLR has some unexpected values. 
-        */
-        EMolrUnexpectedDataValue,  
-        /**
-        This indication is given back to the UE by the Network to the UE or by the 
-        External Client to the UE,where the UE generated MOLR had a data discrepancy
-        */
-        EMolrDataMissing, 
-        /**
-        This indication is given by the Network to the UE, 
-        when the UE is not given a facility to make a MOLR request
-        */
-        EMolrFacilityNotSupported, 
-        /**
-        This indication is given by the Network to the UE, 
-        when the subscription profile of the UE doesn't match with the requests made by it.
-        */
-        EMolrSS_SubscriptionViolation, 
-        /**
-        This indication is given by the Network to the UE, 
-        when the UE or the Network failed to generate the Location estimate
-        */ 
-        EMolrPositionMethodFailure 
-        };
-
-	/**
-	TStartMolrV7 is used by SendMolr() API
-	This class lists the details send by UE to Network when a Molr request is being made.
-	@see TMolrType
-	@see TQosV1
-	@see TLocationEstimateType
-	@see TLcsClientExternalID
-	@see TGpsAssistanceData
-	@see TLocationMethod
-	@internalAll
-	*/
-	class TStartMolrV7: public RMobilePhone::TMultimodeType
-		{
-	public:
-		IMPORT_C TStartMolrV7();
-	public:
-		/**
-		TMolrType holds the type of Molr request being made
-		*/
-		TMolrType             iMolrType;
-		/**
-		TQosV1 lists out the Quality of Service expected by UE
-		*/
-		TQosV1                iQos;
-		/**
-		Type of Location Estimate requested
-		*/
-		TLocationEstimateType iMolrLocationEstimateType;
-		/**
-		Id of the External client
-		*/
-		TLcsClientExternalID  iLcsClientExternalID;
-		/**
-		Type of GpsAssistanceData
-		*/
-		TGpsAssistanceData    iGpsAssistanceData;
-		/**
-		Type of Location method requested
-		*/
-		TLocationMethod       iLocationMethod ;
-		/**
-		Type of Service requested
-		*/
-		TUint8                 iLcsServiceTypeID;
-		};
-	/**
-	A typedef'd packaged TStartMolrV7 for passing through a
-	generic API method.
-
-	@internalAll
-	*/
-	typedef TPckg<TStartMolrV7> TStartMolrV7Pckg;
-	
-	/**
-	TMolrReturnResultV7 is used by SendMolr() API
-	This class lists all the Molr return results that can be expected for the Molr request
-	being made.
-	@see TLcsLocationEstimate 
-	@see TLcsVelocityEstimate
-	@see TMolrErrors
-	@internalAll
-	*/
-    class TMolrReturnResultV7: public RMobilePhone::TMultimodeType
-    	{
-    public:
-		IMPORT_C TMolrReturnResultV7();
-    public:
-    	/**
-    	This gives the Location Estimate of the UE
-    	*/
-    	TLcsLocationEstimate    iLocationEstimate;
-    	/**
-    	This gives the Velocity Estimate of the UE
-    	*/
-    	TLcsVelocityEstimate	iVelocityEstimate;
-    	/**
-    	This gives the indication of the type of error occured
-    	*/
-    	TMolrErrors             iMolrErrors;
-    	};
-
-	/**
-	A typedef'd packaged TMolrReturnResultV7 for passing through a
-	generic API method.
-
-	@internalAll
-	*/
-	typedef TPckg<TMolrReturnResultV7> TMolrReturnResultV7Pckg;
-	
-	//**************************************//
-	// Measurement Control Data structures	//
-	//**************************************//
-
-	enum 
-		{
-		/**Maximum number of monitored cells RACH*/
-		KMaxMonitoredCells = 8,
-		/**Maximum number of satellites*/
-		KMaxSat = 16,
-		/**GlobalHealth size. 364 bits =46 bytes (Rounded) */
-		KGlobalHealthSize	= 46
-		};
-
-	/**This enum contains the possible types of measurement commands.*/
-	enum TMeasurementCmd
-		{
-		/**Measurement Command Unknown*/
-		EMeasCommandUnknown,
-		/**Setup a new measurement*/
-		ESetup,
-		/**Modify a previously defined measurement, e.g. to change the reporting criteria*/
-		EModify,
-		/**Indicates to stop a measurement and clear all information in the UE that are related to that measurement */
-		ERelease,
-		};
-
-	/**This enum contains the possible positioning method types*/
-	enum TUePosMethodType
-		{
-		/**Positioning Method Type unknown*/
-		EPosMethodTypeUnknown,
-		/**UE Assisted : The network computes the location of the UE.*/
-		EUeAssisted,
-		/**UE Based : The UE computes the location of itself*/
-		EUeBased,
-		};
-
-	/**This enum contains the possible positioning methods*/
-	enum TPosMethod
-		{
-		/**Positioning Method unknown*/
-		EPosMethodUnknown,
-		/**OTDOA may be selected by the SRNC as the method to be used on receipt of an LCS positioning request from the CN */
-		EOtdoa,
-		/**These methods make use of UEs, which are equipped with radio receivers capable of receiving GPS signals*/
-		EGps,
-		/**Use either OTDOA or GPS positioning method.*/
-		EOtdoaOrGps,
-		/**
-		In the cell ID based (i.e. cell coverage) method, the position of an UE is 
-		estimated with the knowledge of its serving Node B. The information about the serving 
-		Node B and cell may be obtained by paging,locating area update, cell update, URA update, or routing area update.
-		*/
-		ECellID
-		};
-
-	/**
-	This class contains the information which is part of the Navigation Model.
-	This can be requested by the UE as part of additional request.
-	*/
-	class TSatDataV1
-		{
-	public:
-		/**Satellite identity*/
-		TUint8		iSatID;
-		/**Issue of Data Ephemeris for SatID*/
-		TUint8		iIode;
-		};
-	
-	/**
-	This class contains the additional information that can be requested by the UE.
-	*/
-	class TNavModelAddlDataReqV1	
-		{
-	public:
-		/**GPS time in weeks*/
-		TUint16		iGpsWeek;
-		/**GPS time of ephemeris in hours of the latest ephemeris set contained by the UE.*/
-		TUint8		iGpsToe;
-		/**Ephemeris age tolerance of the UE to UTRAN in hours.*/
-		TUint8		iTToeLimit;
-		/**Satellite Identities
-		@see TSatDataV1*/
-		TSatDataV1	iSatData[KMaxSat];
-		};
-
-	/**This class contains the indicators to request for additional assistance data from the network.*/
-	class TGpsAddlAssistDataReqV1
-		{
-	public:
-		/**ETrue indicates Almanac Data is requested
-		@see	TAlmanacV1*/
-		TBool	iAlmanacRequest;
-		/**ETrue indicates UTC model Data is requested
-		@see	TUtcModelV1*/
-		TBool	iUtcModelRequest;
-		/**ETrue indicates Ionospheric Model Data is requested
-		@see	TUtcModelV1*/
-		TBool	iIonosphericModelRequest;
-		/**ETrue indicates Navigation model Data is requested
-		@see	TIonosphericModelV1*/
-		TBool	iNavigationModelRequest;
-		/**ETrue indicates DGPS corrections Data is requested
-		@see	TNavigationModelSatInfoV1*/
-		TBool	iDgpsCorrectionsRequest;
-		/**ETrue indicates Reference location Data is requested
-		@see	TDgpsCorrectionsV1*/
-		TBool	iReferenceLocationRequest;
-		/**ETrue indicates Reference time Data is requested
-		@see	TReferenceLocationV1*/
-		TBool	iReferenceTimeRequest;
-		/**ETrue indicates Acquisition assistance Data is requested
-		@see	TReferenceTimeV1*/
-		TBool	iAcquisitionAssistanceReq;
-		/**ETrue indicates Realtime integrity Data is requested
-		@see	TAcquisitionAssistanceV1*/
-		TBool	iRealTimeIntegrityRequest;
-		/**This member is included only if Navigagion Model Data is requested (iNavigationModelRequest is ETrue).
-		@see	TNavModelAddlDataReqV1*/
-		TNavModelAddlDataReqV1	iNavModelAddlDataReq;
-		};
-
-	/**This class contains the UE positioning reporting quantity*/
-	class TUePosReportingQuantityV1
-		{
-	public:
-		/**Holds the positioning method type*/
-		TUePosMethodType	 iUePosMethodType;
-		/**Holds the positioning method*/
-		TPosMethod 	iPosMethod;
-		/**Holds the horizontal accuracy*/
-		TInt8	iHorzAccuracy;
-		/**Holds the vertical accuracy*/
-		TInt8	iVertAccuracy;
-		/**If true the SRNC wants the UE to report the SFN-GPS timing of the reference cell.*/ 
-		TBool 	iGpsTimingOfCellWanted;
-		/**ETrue indicates that the UE is requested to send the IE "Additional assistance Data Request" 
-		when the IE "UE positioning Error" is present in the UE positioning measured results.
-		EFalse indicates that the UE shall use the assistance data available.
-		*/
-		TBool	iAddlAssistanceDataReq;
-		};
-
-	/**This enum contains the states in which measurements are valid*/
-	enum TMeasurementValidity
-		{
-		/**Measurement Validity Unknown*/
-		EMeasValidityUnknown,
-		/**Indicates measurement is valid in CellDCH state*/
-		ECellDCH,
-		/**Indicates measurement is valid except in CellDCH state*/
-		EAllButCellDCH,
-		/**Indicates measurement is valid in all state*/
-		EAllStates
-		};
-
-	/**This enum list the SfnTow uncertainity*/
-	enum TSfnTowUncertainity
-		{
-		/**Sfn Tow Uncertainity unknown*/
-		ESfnTowUncertainityUnknown,
-		/**SfnTowUncertainity < 10*/
-		ELessThan10,
-		/**SfnTowUncertainity > 10*/
-		EMoreThan10
-		};
-	
-	/**This enum lists the different GPS drift rates*/
-	enum TUtranGpsDriftRate
-		{
-		/**GPS Drift rate unknown*/
-		EDriftRateUnknown,
-		/**Drift = 0*/
-		EUtranGpsDrift0,
-		/**Drift = 1*/
-		EUtranGpsDrift1,
-		/**Drift = 2*/
-		EUtranGpsDrift2,
-		/**Drift = 5*/
-		EUtranGpsDrift5,
-		/**Drift = 10*/
-		EUtranGpsDrift10,
-		/**Drift = 15*/
-		EUtranGpsDrift15,
-		/**Drift = 25*/
-		EUtranGpsDrift25,
-		/**Drift = 50*/
-		EUtranGpsDrift50,
-		/**Drift = -1*/
-		EUtranGpsDriftMinus1,
-		/**Drift = -2*/
-		EUtranGpsDriftMinus2,
-		/**Drift = -5*/
-		EUtranGpsDriftMinus5,
-		/**Drift = -10*/
-		EUtranGpsDriftMinus10,
-		/**Drift = -15*/
-		EUtranGpsDriftMinus15,
-		/**Drift = -25*/
-		EUtranGpsDriftMinus25,
-		/**Drift = -50*/
-		EUtranGpsDriftMinus50,
-		};
-
-	/**This enum lists the different Udre values*/
-	enum TDiffCorrectionsStatus
-		{
-		/**Diff Corrections Status unknown*/
-		ECorrectionStatusUnknown,
-		/**UDRE 1.0 */
-		EUdre1Point0,
-		/**UDRE 0.75 */
-		EUdre0Point75,
-		/**UDRE 0.5 */
-		EUdre0Point5,
-		/**UDRE 0.3 */
-		EUdre0Point3,
-		/**UDRE 0.2 */
-		EUdre0Point2,
-		/**UDRE 0.1 */
-		EUdre0Point1,
-		/**UDRE No Data */
-		ENoData,
-		/**UDRE Invalid Data */
-		EInvalidData
-		};
-	
-	/**This class reserves members for future use*/
-	class TSubFrame1ReservedV1
-		{
-	public:
-		/**Reserve member 1*/
-		TUint	iReserved1;
-		/**Reserve member 2*/
-		TUint	iReserved2;
-		/**Reserve member 3*/
-		TUint	iReserved3;
-		/**Reserve member 4*/
-		TUint	iReserved4;
-		};
-
-	/**This class contains information for GPS ephemeris and clock correction.*/
-	class TEphemerisParameterV1
-		{
-	public:
-		/**Code(s) on L2 Channel */
-		TUint8	iCodeOnL2;
-		/**User Range Accuracy */
-		TUint8	iUraIndex;
-		/**Health of Satellite*/
-		TUint8	iSatHealth;
-		/**Issue of Data, Clock */
-		TUint16	iIodc;
-		/**L2 channel flag*/
-		TUint8	iL2Flag;
-		TSubFrame1ReservedV1	iSubFrame1Reserved;
-		/**Estimated group delay differential */
-		TUint8	iTGd;
-		/**Apparent clock correction*/
-		TUint16	iTOc;
-		/**Apparent clock correction*/
-		TUint8	iAf2;
-		/**Apparent clock correction*/
-		TUint16	iAf1;
-		/**Apparent clock correction*/
-		TUint	iAf0;
-		/**Amplitude of the Sine Harmonic Correction Term to the Orbit Radius (meters)*/
-		TUint16	iCRs;
-		/**Mean Motion Difference From Computed Value (semi-circles/sec)*/
-		TUint16	iDeltaN;
-		/**Mean Anomaly at Reference Time (semi-circles)*/
-		TUint	iM0;
-		/**Amplitude of the Cosine Harmonic Correction Term To The Argument Of Latitude (radians)*/
-		TUint16	iCUc;
-		/**Eccentricity*/
-		TUint	iE;
-		/**Amplitude of the Sine Harmonic Correction Term To The Argument Of Latitude (radians)*/
-		TUint16	iCUs;
-		/**Semi-Major Axis in squareroot(meters) */
-		TUint	iASqrt;
-		/**Reference Time Ephemeris */
-		TUint16	iTOe;
-		/**
-		Fit interval flag
-		@see ICD-GPS-200
-		*/
-		TUint8	iFitInterval;
-		/**Age Of Data Offset */
-		TUint8	iAodo;
-		/**Amplitude of the Cosine Harmonic Correction Term To The Angle Of Inclination (radians)*/
-		TUint16	iCIc;
-		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */
-		TUint	iOmega0;
-		/**Amplitude of the Sine Harmonic Correction Term To The Angle Of Inclination (radians) */
-		TUint16	iCIs;
-		/**Inclination Angle at Reference Time (semi-circles) */
-		TUint	i0;
-		/**Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius (meters) */
-		TUint16	iCRc;
-		/**Argument of Perigee (semi-circles) */
-		TUint	iOmega;
-		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */
-		TUint	iOmegaDot;
-		/**Rate of Inclination Angle (semi-circles/sec) */
-		TUint16	iDot;
-		};
-
-	/**This enum specifies the possible status of a satellite*/
-	enum TSatelliteStatus
-		{
-		/**Satellite Status unknown*/
-		ESatStatusUnknown,
-		/**New satellite, new Navigation Model*/
-		ENsNnU,
-		/**Existing satellite, same Navigation Model*/
-		EEsSn,
-		/**Existing satellite, new Navigation Model*/
-		EEsNnU,
-		/**Reserved*/
-		ERev2,
-		/**Reserved*/
-		ERev
-		};
-
-	/**This class contains the navigation model satellite information*/
-	class TNavigationModelSatInfoV1
-		{
-	public:
-		/**Satellite identification*/
-		TUint8				iSatID;
-		/**Status of the satellite*/
-		TSatelliteStatus	iSatelliteStatus;
-		/**Contains information for GPS ephemeris and clock correction.*/
-		TEphemerisParameterV1	iEphemerisParameter;
-		};
-
-	/**
-	This class contains the ionospheric model information needed to model
-	the propagation delays of the GPS signals through the ionosphere
-	*/
-	class TIonosphericModelV1
-		{
-	public:
-		/**
-		The parameters *n are the coefficients of a cubic equation 
-		representing the amplitude of the vertical delay.
-		@see ICD-GPS-200
-		*/
-		/**Alfa = 0*/
-		TUint8	iAlfa0;
-		/**Alfa = 1*/
-		TUint8	iAlfa1;
-		/**Alfa = 2*/
-		TUint8	iAlfa2;
-		/**Alfa = 3*/
-		TUint8	iAlfa3;
-		/**
-		The parameters *n are the coefficients of a cubic equation 
-		representing the period of the ionospheric model 
-		@see ICD-GPS-200
-		*/
-		/**Beta = 0*/
-		TUint8	iBeta0;
-		/**Beta = 1*/
-		TUint8	iBeta1;
-		/**Beta = 2*/
-		TUint8	iBeta2;
-		/**Beta = 3*/
-		TUint8	iBeta3;
-		};
-		
-	/**
-	This class contains the UTC model information needed to relate GPS time to Universal Time Coordinate (UTC)
-	@see ICD-GPS-200
-	*/
-	class TUtcModelV1
-		{
-	public:
-		/**
-		Time in seconds. 
-		@see ICD-GPS-200.
-		*/
-		TUint	iA1;
-		/**
-		Time in seconds. 
-		@see ICD-GPS-200.
-		*/
-		TUint	iA2;
-		/**Time in seconds
-		@see ICD-GPS-200
-		*/
-		TUint8	iTOt;
-		/**weeks
-		@see ICD-GPS-200
-		*/
-		TUint8	iWnT;
-		/**Time in seconds
-		@see ICD-GPS-200
-		*/
-		TUint8	iDeltaTLs;
-		/**Weeks
-		@see ICD-GPS-200
-		*/
-		TUint8	iWnLsf;
-		/**Days
-		@see ICD-GPS-200
-		*/
-		TUint8	iDn;
-		/**Seconds
-		@see ICD-GPS-200
-		*/
-		TUint8	iDeltaTLsf;
-		};
-
-	/**This class contains a reduced-precision subset of the ephemeris and clock correction parameters.*/
-	class TAlmanacSatInfoV1
-		{
-	public:
-		/**Data identification*/
-		TUint8	iDataID;
-		/**Eccentricity*/
-		TUint16	iE;
-		/**Reference Time of Almanac */
-		TUint8 	iTOa;
-		/**@see ICD-GPS-200*/
-		TUint16	iDeltaI;
-		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */
-		TUint16	iOmegaDot;
-		/**Satellite health*/
-		TUint8	iSatHealth;
-		/**Semi-Major Axis in squareroot(meters)*/
-		TUint	iASqrt;
-		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */
-		TUint	iOmega0;
-		/**Mean Anomaly at Reference Time (semi-circles) */
-		TUint	iM0;
-		/**Argument of Perigee (semi-circles) */
-		TUint	iOmega;
-		/**Apparent clock correction */
-		TUint16	iAf0;
-		/**Apparent clock correction */
-		TUint16	iAf1;
-		};
-
-	/**This class holds the coarse, long-term model of the satellite positions and clocks.*/
-	class TAlmanacV1
-		{
-	public:
-		/**Almanac Reference Week */
-		TUint8	iWnA;
-		TAlmanacSatInfoV1	iAlmanacSatInfoList[KMaxSat]; 
-		/**This enables GPS time recovery and possibly extended GPS correlation intervals.*/
-		TUint16	iSvGlobalHealth[KGlobalHealthSize]; 
-		};
-
-	/**This union contains the information specific to mode - FDD/TDD*/
-	union TModeSpecificInfoV1
-		{
-		/**Used in FDD mode*/
-		TUint16	iPrimaryScramblingCode;
-		/**Used in TDD mode*/
-		TUint16	iCellParametersID;
-		};
-
-	/**This class contains parameters that enable fast acquisition of the GPS 
-	   signals in UE-assisted GPS positioning.*/
-	class TAcquisitionAssistanceV1
-		{
-	public:
-		/**Specifies GPS reference time*/
-		TUint				iGpsReferenceTime;
-		/**Specifies GPS reference time specific to mode - FDD/TDD*/
-		TModeSpecificInfoV1	iUtranGpsReferenceTime;
-		/**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode. 
-		EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/
-		TBool	iUtranGpsRefTimeStatus;
-		};
-
-	/**
-	The UDRE provides an estimate of the uncertainty (1-*) in the corrections for 
-	the particular satellite. The value in this field shall be multiplied by the 
-	UDRE Scale Factor in the common Corrections Status/Health field to determine the 
-	final UDRE estimate for the particular satellite. 
-	@see 3GPP TS 25.305
-	*/
-	enum TUdre
-		{
-		/**Udre unknown*/
-		EUdreUnknown,
-		/** UDRE < 1*/
-		ELessThan1,
-		/** 1> UDRE < 4*/
-		EBtw1And4,
-		/** 1> UDRE < 8*/
-		EBtw1And8,
-		/** UDRE > 8*/
-		EOver8
-		};
-
-	/**This class contains DGPS corrections to be used by the UE*/
-	class TDgpsCorrectionSatInfoV1
-		{
-	public:
-		/**Satellite identification*/
-		TUint8	iSatID;
-		/**Issue of Data Ephemeris for SatID.*/
-		TUint8	iIode;
-		/**
-		The UDRE provides an estimate of the uncertainty (1-*) in the corrections for 
-		the particular satellite. The value in this field shall be multiplied by the 
-		UDRE Scale Factor in the common Corrections Status/Health field to determine the 
-		final UDRE estimate for the particular satellite. 
-		@see 3GPP TS 25.305
-		*/
-		TUdre	iUdre;
-		/**The PRC indicates the correction to the pseudorange for the particular satellite at the GPS Reference Time*/
-		TInt16	iPrc;
-		/**
-		This information indicates the rate-of-change of the pseudorange correction for the particular satellite,
-		using the satellite ephemeris identified by the IODE IE
-		*/
-		TInt8	iRrc;
-		/**For future use*/
-		TInt8	iDummy1;
-		/**For future use*/
-		TInt8	iDummy2;
-		};
-
-	/**This class contains the DGPS corrections information*/
-	class TDgpsCorrectionsV1
-		{
-	public:
-		/**GPS time of week*/
-		TUint16				iGpsTow;
-		/**This information indicates the status of the differential corrections contained in the message.*/
-		TDiffCorrectionsStatus	iStatusHealth;
-		/**This member data contains DGPS corrections of the satellites to be used by the UE*/
-		TDgpsCorrectionSatInfoV1	iDgpsCorrectionSatInfoList[KMaxSat];
-		};
-
-	/**This enum containst the possible signs of latitude*/
-	enum TLatitudeSign
-		{
-		/**Latitude Sign Unknown*/
-		ELatitudeSignUnknown,
-		/**Latitude sign is north*/
-		ENorth,
-		/**Latitude sign is south*/
-		ESouth
-		};
-	
-	/**This enum contains the possible directions of altitudes for reference location*/
-	enum TAltDirection
-		{
-		/**Altitude Direction Unknown*/
-		EAltDirectionUnknown,
-		/**Indicates Altitude direction is height-wise*/
-		EHeight,
-		/**Indicates Altitude direction is depth-wise*/
-		EDepth
-		};
-
-	/**This class contains a 3-D location (with uncertainty)*/
-	class TReferenceLocationV1
-		{
-	public:
-		/**Specifies the sign - North/South*/
-		TLatitudeSign	iLatitudeSign;
-		/**Degree of latitude*/
-		TUint16			iLatitude;
-		/**Degree of longitude*/
-		TInt16			iLongitude;
-		/**Direction of altitude*/
-		TAltDirection	iAltDirection;
-		/**Degree of altitude*/
-		TUint16			iAltitude;
-		/**Uncertainty semi major axis*/
-		TUint8			iUncertainitySemiMajor;
-		/**Uncertainty semi minor axis*/
-		TUint8			iUncertainitySemiMinor;
-		/**Orientation of major axis*/
-		TUint8			iOrientationMajorAxis;
-		/**The uncertainty in altitude, h, expressed in metres*/
-		TUint8			iUncertainityAltitude;
-		/**The confidence by which the position of a target entity is known to be within the shape description*/
-		TUint8			iConfidence;
-		};
-
-	/**
-	Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
-	that are currently being broadcast by the respective GPS satellites. Combining this information 
-	with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
-	*/
-	class TGpsTowAssistV1
-		{
-	public:
-		/**Satellite identification*/
-		TUint8				iSatID;
-		/**
-		Contains a 14-bit value representing the Telemetry Message (TLM) 
-		being broadcast by the GPS satellite identified by the particular SatID, 
-		with the MSB occurring first in the satellite transmission.
-		*/
-		TUint16				iTlmMsg;
-		/**
-		Contains the two reserved bits in the TLM Word 
-		being broadcast by the GPS satellite identified by SatID, 
-		with the MSB occurring first in the satellite transmission.
-		*/
-		TUint8				iTlmReserved;
-		/**Contain the Alert flags that are being broadcast by the GPS satellite identified by SatID.*/
-		TBool				iAlert;
-		/**Contain the Anti-Spoof that are being broadcast by the GPS satellite identified by SatID.*/
-		TBool				iAntiSpoof;
-		};
-
-	/**This class contains information that may be used to provide a mapping between UTRAN and GPS time*/
-	class TUtranGpsRefTimeV1
-		{
-	public:
-		/**UE-GPS timing of cell ms-part*/
-		TUint16 			iMsPart;
-		/**UE-GPS timing of cell ls-part*/
-		TUint16				iLsPart;
-		/**System frame number*/
-		TUint16				iSfn;
-		/**Specifies GPS reference time specific to mode - FDD/TDD*/
-		TModeSpecificInfoV1	iModeSpecificInfo;
-		/**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode. 
-		EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/
-		TBool	iModeSpecificInfoStatus;
-		};
-
-	/**
-	This class contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
-	that are currently being broadcast by the respective GPS satellites. Combining this information 
-	with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
-	*/
-	class TReferenceTimeV1
-		{
-	public:
-		/**GPS time in weeks*/
-		TUint16				iGpsWeek;
-		/**GPS Time of Week in milliseconds */
-		TUint16				iGpsTowOneMsec;
-		/**GPS reference time may be used to provide a mapping between UTRAN and GPS time*/
-		TUtranGpsRefTimeV1	iUtranGpsRefTime;
-		/**
-		This field indicates the uncertainty of the relation GPS TOW/SFN. 
-		ELessThan10 means the relation is accurate to at least 10 ms.
-		*/
-		TSfnTowUncertainity	iSfnTowUncertainity;
-		/**Drift rate of the NODE B clock relative to GPS time.*/
-		TUtranGpsDriftRate	iUtranGpsDriftRate;
-		/**
-		Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
-		that are currently being broadcast by the respective GPS satellites. Combining this information 
-		with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
-		*/
-		TGpsTowAssistV1		iGpsTowAssistList[KMaxSat];
-		};
-
-	/**This class contains the GPS Assistance Data received from network*/
-	class TUePosGpsAssistanceDataV1
-		{
-	public:
-		/**GPS reference time may be used to provide a mapping between UTRAN and GPS time.*/
-		TReferenceTimeV1 			iReferencTime;
-		/**The Reference Location contains a 3-D location (with uncertainty)*/
-		TReferenceLocationV1		iReferenceLocation;
-		/**
-		Holds information to allow a UE to estimate its position more accurate,
-		biases in the pseudorange measurements may be provided to the UE.
-		*/
-		TDgpsCorrectionsV1			iDgpsCorrections;
-		/**Holds navigation model satellite information*/
-		TNavigationModelSatInfoV1	iNavigationModel;
-		/**
-		The Ionospheric Model contains information needed to model
-		the propagation delays of the GPS signals through the ionosphere.
-		*/
-		TIonosphericModelV1			iIonosphericModel;
-		/**UTC parameters may be used to provide Coordinated Universal Time to the UE.*/
-		TUtcModelV1					iUtcModel;
-		/**Holds the coarse, long-term model of the satellite positions and clocks.*/
-		TAlmanacV1					iAlmanac;
-		/**Holds the acquistions assistance information of the UE*/
-		TAcquisitionAssistanceV1	iAcquisitionAssistance;
-		/**Holds the list of bad satellites*/
-		TUint8						iBadSatList[KMaxSat];
-		/**
-		This member specifies which of the above additional data structures are populated.
-		*/
-		TGpsAddlAssistDataReqV1 iGpsAddlDataStatus;
-		};
-
-	/**This class contains the GPS assistance data required to compute the UE Postioning information*/
-	class TUePosMeasurementV1
-		{
-	public:
-		/**
-		The purpose of the element is to express the allowed/required location method(s), 
-		and to provide information desired QoS.
-		*/
-		TUePosReportingQuantityV1	iUePosReportingQuantity;
-		/**This member data defines in which UE states the measurement is valid.*/
-		TMeasurementValidity		iMeasurementValidity;
-		/**This member data holds the GPS Assistance Data sent by the network*/
-		TUePosGpsAssistanceDataV1	iUePosGpsAssistanceData;
-		};
-
-	/**This holds the possible types of measurement commands that can be specified*/
-	union TMeasurementCommandV1
-		{
-		/**Setup a new measurement*/
-		TUePosMeasurementV1	iSetup;
-		/**Modify a previously defined measurement*/
-		TUePosMeasurementV1	iModify;
-		/**Stop the measurement and clear all information in the UE that are related to that measurement.*/
-		TBool	iRelease;
-		};
-
-	/**This enum specifies the mode the UE shall use to transmit the measurement report*/
-	enum TMeasReportTransferMode
-		{
-		/**Transfer mode unknown*/
-		ETransferModeUnknown,
-		/**The UE shall transmit the measurement report using Acknowledged RLC mode*/
-		EAckModeRlc,
-		/**The UE shall transmit the measurement report using Unacknowledged RLC mode*/
-		EUnAckModeRlc
-		};
-
-	/**
-	This class contains the GPS assistance data needed by the UE to compute the location 
-	of the UE. The UE computes the location once it receives all required information.
-	*/
-	class TMeasurementControlV7 : public RMobilePhone::TMultimodeType
-		{
-	public:
-		IMPORT_C TMeasurementControlV7();
-	public:
-		/**
-		A reference number that should be used by the UTRAN when setting up, 
-		modifying or releasing the measurement and by the UE in the measurement report.
-		*/
-		TUint8	iMeasurementIdentity;
-		/**Specifies the Measurement Setup / Modify / Release*/
-		TMeasurementCommandV1	iMeasurementCommand;
-		/**This specifies whether the UE shall transmit the measurement report using AM or UM RLC.*/
-		TMeasReportTransferMode iMeasReportTransferMode;
-		/**ETrue indicates velocity estimate is requested. EFalse indicates velocity estimate is not requested*/
-		TBool	iVelocityRequested;
-		/**Holds the type of measurement command being used*/
-		TMeasurementCmd	iMeasurementCmdStatus;
-		};
-   	/**
-	A typedef'd packaged TMeasurementControlV7 for passing through a
-	generic API method.
-
-	@internalAll
-	*/
-	typedef TPckg<TMeasurementControlV7> TMeasurementControlV7Pckg;
-	
-	//**************************************//
-	// Measurement Report Data structures	//
-	//**************************************//
-
-	
-	/**
-	This enum contains the indicators thta specify which 
-	union members of TMeasurementQuantityV1 are included
-	*/
-	enum TMeasQnty
-		{
-		/**Measurement Quantity unknown*/
-		EMeasQntyUnknown,
-		/**Indicates that CpichEcN0 is present*/
-		EMeasQntyCpichEcN0Present,
-		/**Indicates that CpichRscp is present*/
-		EMeasQntyCpichRscpPresent,
-		/**Indicates that path loss is present*/
-		EMeasQntyPathLossPresent,
-		};
-
-	/**
-	This enum contains the indicators that specify which 
-	union members of TPosEstimateRefTime and  TPositionEstimateV1 are included
-	*/
-	enum TPosEstimateInfo
-		{
-		/**Position Estimate Info Unknown*/
-		EPosEstimateInfoUnknown,
-		/**
-		NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPosEstimateRefTime
-		Indicates that UE positioning estimate reference time is populated
-		*/
-		EUtranGpsRefTimeResultPresent,
-		/**Indicates that GPS reference time is populated*/
-		EGpsRefTimeOnlyPresent,
-		/**Indicates that cell timing is populated*/
-		ECellTimingPresent,
-		/**
-		NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPositionEstimateV1.
-		Indicates EllipsoidPoint is populated
-		*/
-		EEllipsoidPointPresent,
-		/**Indicates EllipsoidPoint with uncertainty circle is populated*/
-		EEllipsoidPointUncertCirclePresent,
-		/**Indicates EllipsoidPoint with uncertainty ellipse is populated*/
-		EEllipsoidPointUncertEllipsePresent,
-		/**Indicates EllipsoidPoint with altitude is populated*/
-		EEllipsoidPointAltitudePresent,
-		/**Indicates EllipsoidPoint with altitude and ellipse is populated*/
-		EEllipsoidPointAltEllipsePresent,
-		};
-
-	/**This enum contains the possible types of velocity estimates*/
-	enum TVelEstimate
-		{
-		/**Velocity Estimate Unknown*/
-		EVelEstimateUnknown,
-		/**Velocity Estimate is not present*/
-		EVelEstimateNotPresent,
-		/**Horizontal velocity is included*/
-		EHorzVelPresent,
-		/**Horizontal and vertical velocity is included*/
-		EHorzWithVertVelPresent,
-		/**Horizontal velocity with uncertainty is included*/
-		EHorzVelWithUncertPresent,
-		/**Horizontal and vertical velocity with uncertainty is included*/
-		EHorzWithVertVelAndUncertPresent,
-		};
-
-	/**This contains the measurement quantities of the UE*/
-	union TMeasurementQuantityV1
-		{
-	public:
-		/**
-		@see 3GPP TS 25.133.
-		@see 3GPP TS 25.123.
-		*/
-		TUint8	iCpichEcN0;
-		/**
-		@see 3GPP TS 25.133.
-		@see 3GPP TS 25.123.
-		*/
-		TUint8	iCpichRscp;
-		/**Measurement path loss in dB.*/
-		TUint8	iPathLoss;
-		/**Extra for future use*/
-		TBool	iSpare;
-		};
-
-	/**This class contains the current cell informations in TDD mode*/
-	class TTddV1
-		{
-	public:
-		/**
-		Time slot Interference on Signal Code Power
-		@see 3GPP TS 25.123
-		*/
-		TUint8	iTimeSlotIscp;
-		/**Primary Common Control Physical CHannel received signal code power*/
-		TUint8	iPrimaryCcpchRscp;
-		};
-
-	/**This class contains the information in FDD mode*/
-	class TFddV1
-		{
-	public:
-		/**Holds the measurement quantities of the UE*/
-		TMeasurementQuantityV1	iMeasurementQuantity;
-		/**Holds the field that would be populated in iMeasurementQuantity*/
-		TMeasQnty	iMeasQntyStatus;
-		};
-
-	/**This contains the current cell information in specific modes - FDD/TDD*/
-	union TCurrentCellV1 
-		{
-		/**Current cell information in FDD mode*/
-		TFddV1	iFdd;
-		/**Current cell information in TDD mode*/
-		TTddV1	iTdd;
-		};
-
-	/**This contains the type of sfn-sfn observed time difference*/
-	union TSfnSfnObsTimeDifferenceV1
-		{
-		/**Sfn-Sfn observed time difference -type1*/
-		TUint16	iSfnSfnObsTimeDiff1;
-		/**Sfn-Sfn observed time difference -type2*/
-		TUint16	iSfnSfnObsTimeDiff2;
-		};
-
-	/**This class contains the FDD mode information of monitored cells*/
-	class TMonitoredCellFddV1
-		{
-	public:
-		/**Primary Common Control Physical CHannel information*/
-		TUint16		iPrimaryCpichInfo;
-		/**Holds the measurement quantities of the UE*/
-		TMeasurementQuantityV1 iMeasurementQuantity;
-		/**Holds the field that would be populated in iMeasurementQuantity*/
-		TMeasQnty	iMeasQntyStatus;
-		};
-
-	/**This class contains the TDD mode information of monitored cells*/
-	class TMonitoredCellTddV1
-		{
-	public:
-		/**Cell identification*/
-		TUint8	iCellParametersID;
-		/**Primary Common Control Physical CHannel received signal code power*/
-		TUint8	iPrimaryCcpchRscp;
-		};
-
-	/**This contains the monitored cells information in specific mode -  FDD/TDD*/
-	union TMonitoredCellModeSpecificInfoV1
-		{
-		/**Monitored Cell information in FDD mode*/
-		TMonitoredCellFddV1	iMonitoredCellFdd;
-		/**Monitored Cell information in TDD mode*/
-		TMonitoredCellTddV1	iMonitoredCellTdd;
-		};
-
-	/**This class contains the measured results for monitored cells on Random Access Channel*/
-	class TMonitoredCellRachResultV1
-		{
-	public:
-		/**Holds the sfn-sfn observed time difference*/
-		TSfnSfnObsTimeDifferenceV1 iSfnSfnObsTimeDiff;
-		/**Holds the monitored cells specific info mode - FDD/TDD*/
-		TMonitoredCellModeSpecificInfoV1 iMonitoredCellModeSpecificInfo;
-		/**ETrue indicates iMonitoredCellModeSpecificInfo is iMonitoredCellFdd.
-		EFalse indicates iMonitoredCellModeSpecificInfo is iMonitoredCellTdd*/
-		TBool	iSfnSfnObsTimeDiffStatus;
-		};
-	/**
-	Horizontal velocity is characterised by the horizontal speed and bearing. 
-	The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE. 
-	The bearing provides the direction of the horizontal component of velocity taken clockwise from North.
-	@see 3GPP TS 23.032
-	*/
-	class THorzVelocityV1
-		{
-	public:
-		/**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
-		TUint16		iBearing;
-		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
-		TUint16		iHorzSpeed;
-		};
-
-	/**This enum holds vertical speed direction*/
-	enum TVertSpeedDirection
-		{
-		/**Speed direction unknown*/
-		ESpeedDirectionUnknown,
-		/**Upward direction*/
-		EUpward,
-		/**Downward direction*/
-		EDownward
-		};
-
-	/**
-	Horizontal velocity is characterised by the horizontal speed and bearing. 
-	The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE. 
-	The vertical speed and direction provides the component of velocity of a UE in a vertical direction.
-	The bearing provides the direction of the horizontal component of velocity taken clockwise from North.
-	@see 3GPP TS 23.032
-	*/
-	class THorzWithVertVelocityV1
-		{
-	public:
-		/**Direction of vertical speed*/
-		TVertSpeedDirection	iVertSpeedDirection;
-		/**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
-		TUint16		iBearing;
-		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
-		TUint16		iHorzSpeed;
-		/**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/
-		TUint8		iVertSpeed;
-		};
-
-	/**
-	Horizontal velocity with uncertainty is characterised by a horizontal speed and bearing,
-	giving a horizontal velocity vector V, and an uncertainty speed s.
-	@see 3GPP TS 23.032
-	*/
-	class THorzVelocityWithUncertaintyV1
-		{
-	public:
-		/**	The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
-		TUint16		iBearing;
-		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
-		TUint16		iHorzSpeed;
-		/**
-		Horizontal speed uncertainty.
-		*/
-		TUint8		iHorzSpeedUncertainty;
-		};
-
-	/**
-	Horizontal and vertical velocity with uncertainty is characterised by a horizontal speed and bearing, 
-	giving a horizontal velocity vector Vx,y, a vertical speed and direction giving a vertical velocity component Vz,
-	and uncertainty speeds s1 and s2. 
-	@see 3GPP TS 23.032
-	*/
-	class THorzWithVertVelocityAndUncertaintyV1
-		{	
-	public:
-		/**
-		The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.
-		*/
-		TUint16		iBearing;
-		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
-		TUint16		iHorzSpeed;
-		/**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/
-		TUint8		iVertSpeed;
-		/**Horizontal speed uncertainty.*/
-		TUint8		iHorzSpeedUncertainty;
-		};
-
-	/**
-	This class contains the possible ways of velocity estimates
-	@see 3GPP TS 23.032
-	*/
-	union TVelocityEstimateV1
-		{
-		/**Horizontal velocity*/
-		THorzVelocityV1					iHorzVelocity;
-		/**Horizontal velockity and vertical velocity*/
-		THorzWithVertVelocityV1			iHorzWithVertVelocity;
-		/**Horizontal velocity with uncertainty*/
-		THorzVelocityWithUncertaintyV1	iHorzVelocityWithUncertainty;
-		/**Horizontal and vertical velocity with uncertainty*/
-		THorzWithVertVelocityAndUncertaintyV1	iHorzWithVertVelocityAndUncertainty;
-		};
-
-	/**This class contains the measured results on Random Access Channel*/
-	class TMeasuredResultsOnRachV1
-		{
-	public:
-		/**Current cell information*/
-		TCurrentCellV1	iCurrentCell;
-		/**Monitored Cell information*/
-		TMonitoredCellRachResultV1	iMonitoredCellsRachList[KMaxMonitoredCells];
-		/**ETrue indicates iCurrentCell is iFdd.
-		EFalse indicates iCurrentCell is iTdd*/
-		TBool	iCurrentCellStatus;
-		};
-
-	/**
-	Identifies the channel in combination with the Midamble shift and slot number.
-	It is not used in 1.28 Mcps TDD and may be set to either value and should be ignored by the receiver.
-	*/
-	enum TBurstType
-		{
-		/**Burst type 1*/
-		EType1,
-		/**Burst type 2*/
-		EType2
-		};
-
-	/**This class contains UE positioning estimates specific to TDD*/
-	class TPosEstimateTddV1
-		{
-	public:
-		/**Identifies the channel in combination with the Midamble shift and slot number.*/
-		TBurstType	iBurstType;
-		/**Midamble shift*/
-		TUint8	iMidambleShift;
-		/**
-		This member data is present only if no IPDL scheme is configured in the reference cell.
-		Otherwise the slot is defined by the IPDL configuration.
-		*/
-		TUint8	iTimeSlotNumber;
-		/**
-		Cell identification
-		*/
-		TUint8	iCellParametersID;
-		};
-
-	/**This class contains UE positioning estimates specific to FDD/TDD*/
-	union TPosEstimateModeSpecificInfoV1
-		{
-		/**Identifies the reference cell for the GPS TOW-SFN relationship.*/
-		TUint16		iPrimaryCpichInfo;
-		/**Holds the cell and channel identification*/
-		TPosEstimateTddV1	iCellAndChannelID;
-		};
-
-	/**This class contains the cell timing information*/
-	class TCellTimingV1
-		{
-	public:
-		/**
-		SFN during which the position was calculated.
-		*/
-		TUint16		iSfn;
-		/**Holds the UE positioning estimates specific to mode - FDD or TDD*/
-		TPosEstimateModeSpecificInfoV1	iPosEstimateModeSpecificInfo;
-		/**ETrue indicates iPosEstimateModeSpecificInfo is iPrimaryCpichInfo.
-		EFalse indicates iPosEstimateModeSpecificInfo is iCellAndChannelID.*/
-		TBool	iPosEstimateModeStatus;
-		};
-
-	/**This class captures the GPS measurement specific to FDD or TDD*/
-	union TGpsMeasModeSpecificInfoV1
-		{
-		/**Frequency Division Duplex identification*/
-		TUint16	iFddRefID;
-		/**Time Division Duplex identification*/
-		TUint8	iTddRefID;
-		};
-
-	/**This class contains results of the GPS reference time*/
-	class TUtranGpsRefTimeResultV1
-		{
-	public:
-		/**UE-GPS timing of cell ms-part*/
-		TUint16		iMsPart;
-		/**UE-GPS timing of cell ls-part*/
-		TUint16		iLsPart;
-		/**Holds the GPS measurement specific to FDD or TDD*/
-		TGpsMeasModeSpecificInfoV1	iGpsMeasModeSpecificInfo;
-		/**Cell System Frame Number*/
-		TUint16		iSfn;
-		/**ETrue indicates iGpsMeasModeSpecificInfo is iFddRefID. 
-		 EFalse indicates iGpsMeasModeSpecificInfo is iTddRefID*/
-		TBool	iGpsMeasModeStatus;
-		};
-
-	/**This union contains the UE positioning reference time*/
-	union TPosReferenceTimeV1
-		{
-		/**Contains the results of GPS reference time*/
-		TUtranGpsRefTimeResultV1	iUtranGpsRefTimeResult;
-		/**Contains the GPS reference time*/
-		TUint16		iGpsRefTimeOnly;
-		};
-	
-	/**
-	This class contains the information of ellipsoid.
-	It consists of a latitude and a longitude.
-	@see 3GPP TS 23.032
-	*/
-	class TEllipsoidPointV1
-		{
-	public:
-		/**Specifies the sign - North/South*/
-		TLatitudeSign	iLatitudeSign;
-		/**
-		A north/south angular measurement of position relative to the equator, 
-		in the meridian plane which contains the earth's rotation axis
-		*/
-		TUint16	iLatitude;
-		/**
-		An east/west angular measurement of position in relation to the Prime Meridian. 
-		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
-		and the other a meridian passing through the point of interest.
-		*/
-		TInt16	iLongitude;
-		};
-
-	/**
-	It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r
-	@see 3GPP TS 23.032
-	*/
-	class TEllipsoidPointUncertCircleV1
-		{
-	public:
-		/**Specifies the sign - North/South*/
-		TLatitudeSign	iLatitudeSign;
-		/**
-		A north/south angular measurement of position relative to the equator, 
-		in the meridian plane which contains the earth's rotation axis
-		*/
-		TUint16	iLatitude;
-		/**
-		An east/west angular measurement of position in relation to the Prime Meridian. 
-		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
-		and the other a meridian passing through the point of interest.
-		*/
-		TInt16	iLongitude;
-		/**Uncertainty code*/
-		TUint8	iUncertaintyCode;
-		};
-
-	/**
-	It is characterised by the co-ordinates of an ellipsoid point (the origin), 
-	distances r1 and r2 and an angle of orientation A
-	@see 3GPP TS 23.032
-	*/
-	class TEllipsoidPointUncertEllipseV1
-		{
-	public:
-		/**Specifies the sign - North/South*/
-		TLatitudeSign	iLatitudeSign;
-		/**
-		A north/south angular measurement of position relative to the equator, 
-		in the meridian plane which contains the earth's rotation axis
-		*/
-		TUint16	iLatitude;
-		/**
-		An east/west angular measurement of position in relation to the Prime Meridian. 
-		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
-		and the other a meridian passing through the point of interest.
-		*/
-		TInt16	iLongitude;
-		/**Uncertainty semi major axis*/
-		TUint8	iUncertaintySemiMajor;
-		/**Uncertainty semi minor axis*/
-		TUint8	iUncertaintySemiMinor;
-		/**Orientation of major axis*/
-		TUint8	iOrientationMajorAxis;
-		/**The confidence by which the position of a target entity is known to be within the shape description*/
-		TUint8	iConfidence;
-		};
-
-	/**
-	The description of an ellipsoid point with altitude is that of a point at a specified distance 
-	above or below a point on the earth's surface. This is defined by an ellipsoid point 
-	with the given longitude and latitude and the altitude above or below the ellipsoid point.
-	@see 3GPP TS 23.032
-	*/
-	class TEllipsoidPointAltitudeV1
-		{
-	public:
-		/**Specifies the sign - North/South*/
-		TLatitudeSign	iLatitudeSign;
-		/**
-		A north/south angular measurement of position relative to the equator, 
-		in the meridian plane which contains the earth's rotation axis
-		*/
-		TUint16	iLatitude;
-		/**
-		An east/west angular measurement of position in relation to the Prime Meridian. 
-		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
-		and the other a meridian passing through the point of interest.
-		*/
-		TInt16	iLongitude;
-		/**Direction of altitude*/
-		TAltDirection	iAltDirection;
-		/**Degree of altitude*/
-		TUint16	iAltitude;
-		};
-	
-	/**
-	characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"),
-	r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A 
-	(the "angle of the major axis")
-	@see 3GPP TS 23.032
-	*/
-	class TEllipsoidPointAltitudeEllipseV1
-		{
-	public:
-		/**Specifies the sign - North/South*/
-		TLatitudeSign	iLatitudeSign;
-		/**
-		A north/south angular measurement of position relative to the equator, 
-		in the meridian plane which contains the earth's rotation axis
-		*/
-		TUint16	iLatitude;
-		/**
-		An east/west angular measurement of position in relation to the Prime Meridian. 
-		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
-		and the other a meridian passing through the point of interest.
-		*/
-		TInt16	iLongitude;
-		/**Direction of altitude*/
-		TAltDirection	iAltDirection;
-		/**Degree of latitude*/
-		TUint16	iAltitude;
-		/**Uncertainty semi major axis*/
-		TUint8	iUncertaintySemiMajor;
-		/**Uncertainty semi minor axis*/
-		TUint8	iUncertaintySemiMinor;
-		/**Orientation of major axis*/
-		TUint8	iOrientationMajorAxis;
-		/**The confidence by which the position of a target entity is known to be within the shape description*/
-		TUint8	iConfidence;
-		};
-
-	/**This union holds the possible forms of position estimate of the UE that can be captured.*/
-	union TPositionEstimateV1
-		{
-		/**
-		The description of an ellipsoid point is that of a point
-		on the surface of the ellipsoid, and consists of a latitude and a longitude.
-		@see 3GPP TS 23.032
-		*/
-		TEllipsoidPointV1					iEllipsoidPoint;
-		/**
-		It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r
-		@see 3GPP TS 23.032
-		*/
-		TEllipsoidPointUncertCircleV1		iEllipsoidPointUncertCircle;
-		/**
-		It is characterised by the co-ordinates of an ellipsoid point (the origin), 
-		distances r1 and r2 and an angle of orientation A
-		@see 3GPP TS 23.032
-		*/
-		TEllipsoidPointUncertEllipseV1		iEllipsoidPointUncertEllipse;
-		/**
-		The description of an ellipsoid point with altitude is that of a point at a specified distance 
-		above or below a point on the earth's surface. This is defined by an ellipsoid point 
-		with the given longitude and latitude and the altitude above or below the ellipsoid point.
-		@see 3GPP TS 23.032
-		*/
-		TEllipsoidPointAltitudeV1			iEllipsoidPointAltitude;
-		/**
-		characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"),
-		r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A 
-		(the "angle of the major axis")
-		@see 3GPP TS 23.032
-		*/
-		TEllipsoidPointAltitudeEllipseV1	iEllipsoidPointAltitudeEllipsoide;
-		};
-
-	/**This contains the positioning estimate reference time*/
-	union TPosEstimateRefTime
-		{
-		/**Contains results of the GPS reference time*/
-		TUtranGpsRefTimeResultV1	iUtranGpsRefTimeResult;
-		/**Contains the GPS reference time */
-		TUint16		iGpsRefTimeOnly;
-		/**Contains the cell timing*/
-		TCellTimingV1	iCellTiming;
-		};
-
-	/**
-	Provides the position estimate from the UE to the network, 
-	if the UE is capable of determining its own position.
-	*/
-	class TUePosPositionEstimateInfoV1
-		{
-	public:
-		/**UE positioning estimate reference time*/
-		TPosEstimateRefTime	iPosEstimateRefTime;
-		/**Holds the UE's position estimate
-		@see TPositionEstimateV1
-		*/
-		TPositionEstimateV1	iPostionEstimate;
-		/**Holds the field that would be populated in iPosEstimateRefTime*/
-		TPosEstimateInfo	iPosEstimateRefTimeStatus;
-		/**Holds the field that would be populated in iPosEstimate*/
-		TPosEstimateInfo	iPosEstimateStatus;
-		};
-	
-	/**This enum contains the multipath indicators*/
-	enum TMultipathIndicator
-		{
-		/**
-		Multipath indicator unknown
-		This is an invalid indicator. 
-		*/
-		EMPUnknown,
-		/**Not measured*/
-		ENm,
-		/**MP error < 5m*/
-		ELow,
-		/**5m < MP error < 43m*/
-		EMedium,
-		/**MP error > 43m*/
-		EHigh
-		};
-
-	/**This class contains the GPS measurement parameters of the UE*/
-	class TGpsMeasMeasurementParamV1
-		{
-	public:
-		/**Satellite Identification*/
-		TUint8		iSatID;
-		/**
-		The estimate of the carrier-to-noise ratio of the received signal from the particular 
-		satellite used in the measurement. It is given in units of dB-Hz (typical levels will 
-		be in the range of 20 - 50 dB-Hz).
-		*/
-		TUint8		iCN0;
-		/**
-		It is the instantaneous frequency difference between the receiver's internal oscillator 
-		and the received carrier from the satellite. Hz, scale factor 0.2.
-		*/
-		TInt16		iDoppler;
-		/**
-		Unit in GPS chips.
-		Whole value of the UE GPS code-phase measurement, where increasing binary values of the field 
-		signify increasing measured pseudoranges.
-		*/
-		TUint16		iWholeGpsChips;
-		/**
-		The UE GPS code-phase measurement is divided into the fields "Whole GPS Chips" and "Fractional GPS Chips".
-		Scale factor 2-10 Fractional value of the UE GPS code-phase measurement.
-		*/
-		TUint16		iFractionalGpsChips;
-		/**
-		Contains the possible multipath indicators. Multipath error is usually caused by one path being bounced or 
-		reflected. The impact on a pseudo-range measurement may be up to a few metres. In the case of carrier phase,
-		this is of the order of a few centimetres.
-		*/
-		TMultipathIndicator	iMultipathIndicator;
-		/**
-		A distance measurement based on the correlation of a satellite's transmitted code (may be the C/A-Code or 
-		the encrypted P-Code) and the local receiver's reference code (for that PRN satellite number), 
-		that has not been corrected for errors in synchronisation between the transmitter's clock and the receiver's clock.
-		Hence a pseudo-range measurement is a time-error biased distance measurement.
-		*/
-		TUint8		iPseudorangeRmsError;
-		};
-
-	/**This class contains the GPS measurement parameters and the positioning reference time*/
-	class TUePosGpsMeasurementResultsV1
-		{
-	public:
-		/**UE positioning reference time*/
-		TPosReferenceTimeV1	iPosGpsMeasRefTime;
-		/**Holds the GPS measurement parameters from all the active satellites*/
-		TGpsMeasMeasurementParamV1	iGpsMeasurementParamList[KMaxSat];
-		/**ETrue indicates TPosReferenceTimeV1::iUtranGpsRefTimeResult is populated. 
-		 EFalse indicates TPosReferenceTimeV1::iGpsRefTimeOnly is populated*/
-		TBool	iPosGpsMeasRefTimeStatus;
-		};
-
-	/**
-	This enum lists all the possible errors that UE can report to the network
-	*/
-	enum TPosErrorCause
-		{
-		/**
-		Error Cause Unknown. This is an invalid error cause and is set if the UE does not set with 
-		any of the underlying valid error causes
-		*/
-		EErrorCauseUnknown,
-		/**Indicates that enought number of GPS satellites are healthy and active.*/
-		ENotEnoughGpsSatellites,
-		/**Assistance data required to compute location of the UE is missing in the measurement control.
-		If the Additional data request flag is true in the measurement control only then additional assistance
-		data can be requested otherwise measurements need to be done using the existing assistance data
-		@see TGpsAddlAssistDataReqV1
-		@see TUePosReportingQuantityV1
-		 */
-		EAssistanceDataMissing,
-		/**
-		Cell Frames Timings are not accomplished
-		*/
-		ENotAccomplishedGpsTimingOfCellFrames,
-		/**
-		UE can set this error in case other than the above mentioned is encountered 
-		*/
-		EUndefinedError,
-		/**
-		UE denies Location information
-		*/
-		ERequestDeniedByUser,
-		};
-
-	/**
-	This class contains the positioning errors that might have encountered during 
-	measurement of location of the UE.
-	*/
-	class TUePosError
-		{
-	public:
-		/**Indicates the error cause encountered while computing GPS Assistance data*/
-		TPosErrorCause		iPosErrorCause;
-		/**If error cause is "Assistance Data Missing" and iAddlAssistanceDataReq is set to ETrue then
-		then this member shall indicate what additional assistance data is needed.
-		If iAddlAssistanceDataReq is set to EFalse then existing assistance data is used to compute location
-		information of the UE.
-		@see TUePosReportingQuantityV1::iAddlAssistanceDataReq*/
-		TGpsAddlAssistDataReqV1	iGpsAddlAssistDataReq;
-		};
-
-	/**
-	This class contains the measurement results computed by the UE.
-	*/
-	class TUePosMeasuredResultsV1
-		{
-	public:
-		/**The purpose of this is to provide the position estimate from the UE to the network, 
-		if the UE is capable of determining its own position.*/
-		TUePosPositionEstimateInfoV1	iUePosPositionEstimateInfo;
-		/**Contains the GPS measurement parameters and the positioning reference time*/
-		TUePosGpsMeasurementResultsV1	iUePosGpsMeasurement;
-		/**Indicates the error cause and/or additional assistance data is required*/
-		TUePosError						iUePosError;
-		/**
-		ETrue indicates some error has encountered. iUePosError will be populated.
-		EFalse indicates Gps Assistance Data is received and no error has encountered while processing.
-		Hence iUePosPositionEstimateInfo and iUePosGpsMeasurement will be populated
-		*/
-		TBool	iPosErrorStatus;
-		};
-
-	/**Contains the measured location information of the UE*/
-	union TMeasuredResultsV1
-		{
-		/**
-		This member either contains the measurement results or the error that might have 
-		encountered during measurements.
-		*/
-		TUePosMeasuredResultsV1		iTUePosMeasuredResults;
-		/**
-		A spare member for future use.
-		*/
-		TBool						iSpare;
-		};
-
-	/**
-	This class contains the measurement report expected as response to the measurement control sent by the 
-	network. Veloctiy estimates are included if requested in measurement control.
-	*/
-	class TMeasurementReportV7 : public RMobilePhone::TMultimodeType
-		{
-	public:
-		IMPORT_C TMeasurementReportV7();
-	public:
-		/**A reference number that should be used by the UTRAN when setting up, 
-		modifying or releasing the measurement and by the UE in the measurement report.
-		*/
-		TUint8 iMeasurementIdentity;
-		/**Contains the measured location information of the UE*/
-		TMeasuredResultsV1 iMeasuredResults;
-		/**Contains the measured results on Random Access Channel*/
-		TMeasuredResultsOnRachV1	iMeasuredResultsOnRach;
-		/**Contains the velocity estimates of the UE*/
-		TVelocityEstimateV1		iVelocityEstimate;
-		/**
-		Indicates the populated member in iVelocityEstimate if velocity estimate is computed.
-		Otherwise indicates that velocity estimate is not computed.
-		*/
-		TVelEstimate	iVelEstimateStatus;
-		};
-	/**
-	A typedef'd packaged TMeasurementReportV7 for passing through a
-	generic API method.
-
-	@internalAll
-	*/
-	typedef TPckg<TMeasurementReportV7> TMeasurementReportV7Pckg;
-	
-	//*********************************************//	
-	//  Measurement Control Failure data structure //
-	//*********************************************//
-
-	/**
-	This enum contains the list of errors that the UE can specify.
-	The Measurement control failure is caused only when the the UE 
-	cannot initiate a measurement as instructed by the network.
-	*/
-	enum TMeasurementControlFailure
-		{
-		/**
-		Unknown Measurement Control Failure.
-		This is an invalid failure state whic will be set if the UE does not set with the 
-		underlying valid error reasons.
-		*/
-		EControlFailureUnknown,
-		/**Indicates ASN1.0 encoding is incorrect*/
-		EAsn1ViolationOrEncoding,
-		/**Messsgae type specified is not existent*/
-		EMsgTypeNonExistent,
-		/**Message is not compatible*/
-		EMsgNotCompatibleWithReceiverState,
-		/**Information sent cannot be understood*/
-		EIeValueNotComprehend,
-		/**Information expected is not present*/
-		EInformationElementMissing,
-		/*Message extension cannot be understood*/
-		EMsgExtnNotComprehend
-		}; 
-		
-	/**
-	This enum contains the possible domains used by MOLR 
-	*/
-	enum TDomain
-   		{
-		/**Packet switch domain is the default domain that will be used by Molr*/
-   		EPacketSwitchedDomain,
-		/**UE shall set the domain to Circuit switch whenever Molr is intended to use it*/
-  	 	ECircuitSwitchedDomain
-   		};
-
-	IMPORT_C void NotifyMtlr(TRequestStatus& aReqStatus,TDes8& aNotifyMtlr);
-	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrResponse aMtlrResponse);
-	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrError aMtlrResponse);
-	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrReject aMtlrResponse);
-    IMPORT_C void SendMolr(TRequestStatus& aReqStatus,const TDesC8& aStartMolr,TDes8& aMolrReturnResult);
-	IMPORT_C void NotifyMeasurementControl(TRequestStatus& aReqStatus,TDes8& aMeasurementControl);
-	IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TDesC8& aMeasurementReport);
-	IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TMeasurementControlFailure aMeasurementControlFailure);
-	IMPORT_C TInt SetLcsDomain(const TDomain aDomain);		
-private:
-	void ConstructL();
-	void Destruct();
-private:
-	/**
-	Pointer Holder for the RMobileLocationServices sub-session requests.
-	*/
-	CMobileLocationServicesPtrHolder* iMmPtrHolder;
-	};
-
-#endif // __ETELMM_H__
-