Updating the Telephony SHAI APIs that have been voted to alpha status
authorTom Pritchard <tomp@symbian.org>
Thu, 12 Aug 2010 13:24:19 +0100
changeset 22 e3587ca0d5e1
parent 21 ab1d0f4d2aa4
child 23 c2a6df15c4dd
Updating the Telephony SHAI APIs that have been voted to alpha status
Telephony/basebandabstraction/basebandchanneladaptor/inc/bca2.h
Telephony/ctsydispatchlayer/exportinc/cctsydispatchercallback.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchcallcontrolinterface.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchcellbroadcastinterface.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchinterface.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchpacketservicesinterface.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchphonebookinterface.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchsecurityinterface.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchsiminterface.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchsmsinterface.h
Telephony/ctsydispatchlayer/exportinc/mltsydispatchsupplementaryservicesinterface.h
--- a/Telephony/basebandabstraction/basebandchanneladaptor/inc/bca2.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/basebandabstraction/basebandchanneladaptor/inc/bca2.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,6 +1,6 @@
 
 /**
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 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"
@@ -33,6 +33,21 @@
 /** This namespace includes the BCA component names.*/
 namespace BasebandChannelAdaptation2
 {
+	
+/** Flow control
+ * 
+ 
+ * @publishedPartner
+ * @prototype
+ */
+ 	enum TBcaFlowControlIndication 
+		{
+			// Flow Control is off
+			EBcaFlowCtlOff,
+			// Flow Control is on
+			EBcaFlowCtlOn
+		};
+	
 /**
  * The class implemented by an upper component to accept control signals from the lower component
 
@@ -81,13 +96,19 @@
 	/**
 	* This function is called whenever data has been received by MBca which 
 	* should be processed by its client. The implementer takes ownership of the 
-	* buffer and is responsible for its deletion.
+	* buffer and is responsible for its deletion.  Note: if there is a flow control
+	* situation (i.e. the upper data receiver cannot handle more data) it will accept
+	* the current packet and inform the lower component through the return code that
+	* flow control is on.  The upper data receiver accepts this packet, i.e. the lower
+	* data sender must not send a copy of this data. When flow control is off, the
+	* upper data receiver will call StartReceiving() to signal the lower component to
+	* start processing new packets.
 	
 	* @param aCommsBufChain - The list of comms buffers containing data to be processed. 
          * Destination keeps the custody of the buffer.
-	* @return none.
+	* @return TBcaFlowControlIndication.
 	*/
-	virtual void Process(RCommsBufChain& aCommsBufChain)=0;
+	virtual TBcaFlowControlIndication Process(RCommsBufChain& aCommsBufChain)=0;
 	};
 
 /**
@@ -100,27 +121,42 @@
 class MLowerDataSender
 	{
 	public:
-	enum TSendResult
-		{
-			// data accepted, send no more until MUpperControl::StartSending() is called
-			ESendBlocked,
-			// data accepted, can send more.
-			ESendAccepted
-		};
+		
 	/**
 	* Sends the specified buffer data down to the base-band. The implementer takes 
 	* ownership of the buffer and is responsible for its deletion.
 	
 	* @param aCommsBufChain the comms buffer list to be sent.The buffer ownership is passed 
 	* to the BCA
-	* @return TTSendResult either ESendBlocked or SendAccepted. When the Bca 
+	* @return TTSendResult either EBcaFlowCtlOn or EBcaFlowCtlOff. When the Bca 
 	* is congested and cannot send any data beyond the current packet (which is 
-	* always accepted), the implementation returns ESendBlocked. If BCA is not
-	* congested then ESendAccepted is returned to continue sending. When congestion 
+	* always accepted), the implementation returns EBcaFlowCtlOn. If BCA is not
+	* congested then EBcaFlowCtlOff is returned to continue sending. When congestion 
 	* passes, the Bca calls StartSending on the upper layer to resume sending. The
 	* implementation is recommended to panic any attempts to call Send during congestion 
 	*/
-	virtual	TSendResult Send(RCommsBufChain& aCommsBufChain)=0;
+	virtual	TBcaFlowControlIndication Send(RCommsBufChain& aCommsBufChain)=0;
+	};
+
+/**
+ * The interface implemented by the lower component to allow the upper component to inform
+ * Bca that it can now handle packets.
+
+ * @publishedPartner
+ * @prototype
+ */
+class MLowerControl
+	{
+public:
+/**
+	* Indicates to the layer below that Bca the link layer is ready to 
+	* receive packets from Bca, either after Start() completes or following
+	* flow control. 
+	
+	* @param none
+	* @return none.
+	*/
+	virtual void StartReceiving()=0;
 	};
 
 /**
@@ -178,7 +214,19 @@
 	* @param none
 	* @return reference to the MLowerDataSender. 
 	*/
-	virtual MLowerDataSender& GetSender()=0;
+	virtual MLowerDataSender& GetLowerDataSender()=0;
+	
+	
+	/**
+	 * Returns a reference to the MLowerControl, This reference is used by 
+	 * upper components to inform lower Bca that it can resume sending. This API must be 
+	 * called only after Start() completes, otherwise the implementation should panic.
+ 	
+	* @param none
+	* @return reference to the MLowerControl. 
+	*/
+	virtual MLowerControl& GetLowerControl()=0;
+	
 	
 	/**
 	* Synchronously closes the BCA immediately. Informs the BCA is no longer 
@@ -200,25 +248,6 @@
 	*/
 	virtual void Release()=0;
 	
-	enum TBlockOption
-		{
-			//stop sending [block] data on interface
-			EBlockFlow, 
-			// start sending [unblock] data on interface
-			EUnblockFlow
-		};
-	/**
-	* Either blocks or unblocks the pushing of received data to the upper layers, 
-	* depending on TBlockOption. If the upper layers can’t process any more
-	* data to stop receiving packets this API is called with EBlockFlow. 
-	* Later after the congestion eases, to start receiving packets again call 
-	* this API with EUnblockFlow
-	
-	* @param aOption either block or unblock receive flow
-	* @return none.
-	*/
-	virtual void SetFlowControl(TBlockOption aOption)=0;
-
 	/**
 	* The BCA control function to get or set the options of the BCA in an 
 	* asynchronous manner.
@@ -263,8 +292,8 @@
 const TUint KBCAMru	                = 0x12;
 const TUint KBCAMtu	                = 0x13;
 const TUint KBCASpeedMetric	        = 0x14;
-const TUint KBCACaps	            = 0x15;
-const TUint KBCASetIapId	        = 0x16;
+const TUint KBCACaps	              = 0x15;
+const TUint KBCASetIapId	          = 0x16;
 const TUint KBCASetBcaStack	        = 0x1e;
 const TUint KVersionNumber	        = 0x1c;
 /** 
--- a/Telephony/ctsydispatchlayer/exportinc/cctsydispatchercallback.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/cctsydispatchercallback.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -111,7 +111,8 @@
   KLtsyDispatchPacketServicesNotifyPacketNetworkRegistrationStatusIndId = 512,
   KLtsyDispatchPacketServicesNotifyMbmsContextConfigChangedIndId = 1024,
   KLtsyDispatchPacketServicesNotifyMbmsNetworkServiceStatusChangeIndId = 2048,
-  KLtsyDispatchPacketServicesNotifyMbmsServiceAvailabilityChangeIndId = 4096
+  KLtsyDispatchPacketServicesNotifyMbmsServiceAvailabilityChangeIndId = 4096,
+  KLtsyDispatchPacketServicesNotifyPacketServicesStatusIndId = 8192
   };
 
 
@@ -265,24 +266,16 @@
 	IMPORT_C void CallbackCallControlStartDtmfToneComp(TInt aError);
 	IMPORT_C void CallbackCallControlGetActiveAlsLineComp(TInt aError, RMobilePhone::TMobilePhoneALSLine aAlsLine);
 	IMPORT_C void CallbackCallControlDialDataComp(TInt aError, TInt aCallId);
-	IMPORT_C void CallbackCallControlUpdateLifeTimerComp(TInt aError);
+
 	IMPORT_C void CallbackCallControlNotifyIccCallForwardingStatusChangeInd(TInt aError, const RMobilePhone::TMobileAddress& aCallForwardingNo,
 				 		RMobilePhone::TCFUIndicatorStatusFlags aCallForwardingStatusFlags,
 				 		RMmCustomAPI::TMultipleSubscriberProfileID aMultipleSubscriberProfileId);
     IMPORT_C void CallbackCallControlGetAlsPpSupportComp(TInt aError, RMmCustomAPI::TAlsSupport aAlsSupport);
     IMPORT_C void CallbackCallControlGetAlsBlockedStatusComp(TInt aError, RMmCustomAPI::TGetAlsBlockStatus aAlsStatus);
     IMPORT_C void CallbackCallControlSetAlsBlockedComp(TInt aError);
-    IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError);
-    IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError, TUint32 aHours, TUint8 aMinutes);
-    IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError, const TDateTime &aManufacturingDate);
-    IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError, const TDateTime &aManufacturingDate, TUint32 aHours, TUint8 aMinutes);
+
     IMPORT_C void CallbackCallControlTerminateErrorCallComp(TInt aError);
     IMPORT_C void CallbackCallControlTerminateAllCallsComp(TInt aError);
-    IMPORT_C void CallbackCallControlGetCallForwardingIndicatorComp(TInt aError, RMobilePhone::TMobileTON aTypeOfNumber,
-                                                                    RMobilePhone::TMobileNPI aMobilePlan,
-                                                                    const TDesC &aNumber,
-                                                                    RMobilePhone::TCFUIndicatorStatusFlags aCFUIndicatorStatusFlags,
-                                                                    RMobilePhone::TMultipleSubscriberProfileID aMultipleSubscriberProfileId);
 
 	// Phone related callbacks
 	IMPORT_C void CallbackPhoneGetFdnStatusComp(TInt aError, RMobilePhone::TMobilePhoneFdnStatus aFdnStatus);
@@ -370,13 +363,12 @@
 	IMPORT_C void CallbackPhonebookEnStoreReadEntryComp(TInt aError, TInt aIndex, const TDesC& aNumber);
 
 	// CellBroadcast related callbacks
+	IMPORT_C void CallbackCellBroadcastSetBroadcastFilterSettingComp(TInt aError);
 	IMPORT_C void CallbackCellBroadcastGsmBroadcastNotifyMessageReceivedInd(TInt aError, const TDesC8& aCbsMsg);
 	IMPORT_C void CallbackCellBroadcastWcdmaBroadcastMessageReceivedInd(TInt aError, const TDesC8& aWcdmaCbsData, const DispatcherCellBroadcast::TWcdmaCbsMsgBase& aWcdmaCbsMsgBase, TBool aMoreToCome);
-	IMPORT_C void CallbackCellBroadcastSetBroadcastFilterSettingComp(TInt aError);
 	IMPORT_C void CallbackCellBroadcastActivateBroadcastReceiveMessageComp(TInt aError);
 	IMPORT_C void CallbackCellBroadcastReceiveMessageCancelComp(TInt aError);
-	IMPORT_C void CallbackCellBroadcastStartSimCbTopicBrowsingComp(TInt aError, const CArrayFixFlat< RMmCustomAPI::TSimCbTopic >& aSimTopicArray );
-	IMPORT_C void CallbackCellBroadcastDeleteSimCbTopicComp(TInt aError);
+
 
 	// PhonebookOn related callbacks
 	IMPORT_C void CallbackPhonebookOnStoreReadAllInd(TInt aError);
@@ -407,7 +399,8 @@
 	IMPORT_C void CallbackPhonebookSmsStoreGetInfoComp(TInt aError, TInt aTotalEntries, TInt aUsedEntries);
 	IMPORT_C void CallbackPhonebookSmsStoreReadEntryComp(TInt aError, const DispatcherPhonebook::TSmsData& aSmsData);
 	IMPORT_C void CallbackPhonebookSmsStoreWriteEntryComp(TInt aError, TInt aLocation, TBool aReceivedClass2ToBeResent);
-
+	IMPORT_C void CallbackPhonebookGetMailboxNumbersComp(const RMobilePhone::TMobilePhoneVoicemailIdsV3& aMailboxNumbers);
+	
 	// Sim related callbacks
 	IMPORT_C void CallbackSimRefreshSimFilesInd(TInt aError, TUint16 aRefreshFileList);
 	IMPORT_C void CallbackSimNotifyIccMessageWaitingIndicatorsChangeInd(TInt aError, const RMobilePhone::TMobilePhoneMessageWaitingV1& aIndicators);
@@ -441,20 +434,30 @@
 	IMPORT_C void CallbackSimSendApduRequestV2Comp(TInt aError, const TDesC8& aResponseData);
 	IMPORT_C void CallbackSimSimWarmResetComp(TInt aError);
 	IMPORT_C void CallbackSimSetSimMessageStatusReadComp(TInt aError);
-
+	IMPORT_C void CallbackCellBroadcastStartSimCbTopicBrowsingComp(TInt aError, const CArrayFixFlat< RMmCustomAPI::TSimCbTopic >& aSimTopicArray );
+	IMPORT_C void CallbackCellBroadcastDeleteSimCbTopicComp(TInt aError);
+	IMPORT_C void CallbackSmsGetSmspListComp(TInt aError, const TDesC& aServiceCenterAddress, const TDesC& aDestinationAddress,
+				  const TDesC& aAlphaTagData, const DispatcherSim::TSmsParameters& aSmsParameters, TBool aMoreToCome);
+	IMPORT_C void CallbackSmsStoreSmspListEntryComp(TInt aError);	
+	IMPORT_C void CallbackSmsGetSmsStoreInfoComp(TInt aError, TInt aTotalEntries, TInt aUsedEntries);
+    IMPORT_C void CallbackCallControlGetCallForwardingIndicatorComp(TInt aError, RMobilePhone::TMobileTON aTypeOfNumber,
+                                                                    RMobilePhone::TMobileNPI aMobilePlan,
+                                                                    const TDesC &aNumber,
+                                                                    RMobilePhone::TCFUIndicatorStatusFlags aCFUIndicatorStatusFlags,
+                                                                    RMobilePhone::TMultipleSubscriberProfileID aMultipleSubscriberProfileId);
+    IMPORT_C void CallbackSimGetImsAuthorizationInfoComp(TInt aError, const TDesC8& aImpi, const RArray<RMobilePhone::TIMPU>& aImpu, const TDesC8& aHndn);
+    
 	// Sms related callbacks
 	IMPORT_C void CallbackSmsNotifyReceiveSmsMessageInd(TInt aError, TBool aInd, const TSmsMsg& aSmsMessage);
 	IMPORT_C void CallbackSmsSendSatSmsComp(TInt aError);
-	IMPORT_C void CallbackSmsGetSmsStoreInfoComp(TInt aError, TInt aTotalEntries, TInt aUsedEntries);
-	IMPORT_C void CallbackSmsGetSmspListComp(TInt aError, const TDesC& aServiceCenterAddress, const TDesC& aDestinationAddress,
-				  const TDesC& aAlphaTagData, const DispatcherSim::TSmsParameters& aSmsParameters, TBool aMoreToCome);
 	IMPORT_C void CallbackSmsNackSmsStoredComp(TInt aError);
 	IMPORT_C void CallbackSmsAckSmsStoredComp(TInt aError);
 	IMPORT_C void CallbackSmsResumeSmsReceptionComp(TInt aError);
 	IMPORT_C void CallbackSmsSendSmsMessageComp(TInt aError, TInt aMsgRef, const TDesC8& aSmsSubmitReport);
 	IMPORT_C void CallbackSmsSendSmsMessageNoFdnCheckComp(TInt aError, TInt aMsgRef, const TDesC8& aSmsSubmitReport);
 	IMPORT_C void CallbackSmsSetMoSmsBearerComp(TInt aError);
-	IMPORT_C void CallbackSmsStoreSmspListEntryComp(TInt aError);
+	IMPORT_C void CallbackSmsRoutingActivateComp(TInt aError, TUint8 aSmsRoutingStatus);
+	IMPORT_C void CallbackSmsRoutingDeactivateComp(TInt aError, TUint8 aSmsRoutingStatus);
 
 	// CallControlMultiparty related callbacks
 	IMPORT_C void CallbackCallControlMultipartyConferenceHangUpComp(TInt aError);
@@ -474,13 +477,13 @@
 	IMPORT_C void CallbackSupplementaryServicesNotifyRequestCompleteInd(TInt aError, TInt aStatus);
 	IMPORT_C void CallbackSupplementaryServicesNotifySendNetworkServiceRequestInd(TInt aError, RMobilePhone::TMobilePhoneNotifySendSSOperation aOperationCode, const TDesC& aAdditionalInfo);
 	// NotifySS options
-	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventForwardModeInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, RMmCustomAPI::TSsForwMode aForwardMode);
-	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventCallWaitingInd(TInt aError, RMmCustomAPI::TSsMode aMode, TBool aCallIsWaiting);
-	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventHoldModeInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, RMmCustomAPI::TSsHoldMode aHoldMode);
-	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventConfrenceInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, TBool aConferenceIndicator);
-	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventCugInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, TUint16 aCugIndex);
-	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventClirSuppressionInd(TInt aError, RMmCustomAPI::TSsMode aMode, TBool aClirSuppressionRejected);
-	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventEctCallStateInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, RMmCustomAPI::TSsEctState aEctCallState, RMmCustomAPI::TSsChoice aEctChoice, const TDesC& aRemotePartyNumber);
+	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventForwardModeInd(TInt aError, RMmCustomAPI::TSsForwMode aForwardMode);
+	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventCallWaitingInd(TInt aError, TBool aCallIsWaiting);
+	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventHoldModeInd(TInt aError, RMmCustomAPI::TSsHoldMode aHoldMode);
+	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventConfrenceInd(TInt aError, TBool aConferenceIndicator);
+	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventCugInd(TInt aError, TUint16 aCugIndex);
+	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventClirSuppressionInd(TInt aError, TBool aClirSuppressionRejected);
+	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventEctCallStateInd(TInt aError, RMmCustomAPI::TSsEctState aEctCallState, RMmCustomAPI::TSsChoice aEctChoice, const TDesC& aRemotePartyNumber);
 	IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode);
 	
 	IMPORT_C void CallbackSupplementaryServicesSendNetworkServiceRequestNoFdnCheckComp(TInt aError);
@@ -517,6 +520,7 @@
 	IMPORT_C void CallbackPacketServicesNotifyMbmsNetworkServiceStatusChangeInd(TInt aError, TMbmsNetworkServiceStatus aMbmsNetworkServiceStatus);
 	IMPORT_C void CallbackPacketServicesNotifyMbmsServiceAvailabilityChangeInd(TInt aError, const RArray<TUint>& aAvailableServiceIds);
 	IMPORT_C void CallbackPacketServicesNotifyConnectionInfoChangeInd(TInt aError, const TDesC& aContextName, const RPacketContext::TConnectionInfoV1& aConnectionInfo);
+    IMPORT_C void CallbackPacketServicesNotifyStatusInd(TInt aError, RPacketService::TStatus aPacketStatus, TBool aIsResumed);
 	IMPORT_C void CallbackPacketServicesPacketAttachComp(TInt aError);
 	IMPORT_C void CallbackPacketServicesGetPacketAttachModeComp(TInt aError, RPacketService::TAttachMode aAttachMode);
 	IMPORT_C void CallbackPacketServicesGetPacketNetworkRegistrationStatusComp(TInt aError, RPacketService::TRegistrationStatus aRegistrationStatus);
@@ -531,7 +535,6 @@
 	IMPORT_C void CallbackPacketServicesSetPdpContextQosComp(TInt aError, const TDesC& aContextName);
 	IMPORT_C void CallbackPacketServicesRejectNetworkInitiatedContextActivationRequestComp(TInt aError);
 	IMPORT_C void CallbackPacketServicesDeactivatePdpContextComp(TInt aError, const TDesC& aContextName);
-	IMPORT_C void CallbackPacketServicesGetStatusComp(TInt aError, RPacketService::TStatus aPacketStatus, TBool aIsResumed);
 	IMPORT_C void CallbackPacketServicesGetStaticCapabilitiesComp(TInt aError, TUint aStaticCapabilities);
 	IMPORT_C void CallbackPacketServicesGetMaxNoMonitoredServiceListsComp(TInt aError, TInt aMaxNoMonitoredServiceLists);
 	IMPORT_C void CallbackPacketServicesGetMaxNoActiveServicesComp(TInt aError, TInt aMaxNoActiveServices);
@@ -581,6 +584,9 @@
 	IMPORT_C void CallbackSatReadyComp(TInt aError);
 	IMPORT_C void CallbackSatUssdControlEnvelopeErrorComp(TInt aError);
 	
+	// Other SHAI domain related callbacks
+    IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError);
+    IMPORT_C void CallbackCallControlUpdateLifeTimerComp(TInt aError);
 protected:
 
 
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchcallcontrolinterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchcallcontrolinterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -627,7 +627,7 @@
 public:
 
 	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetActiveAlsLine
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetALSLine
 	 * request from the CTSY.
 	 *
 	 * It is a request call that is completed by invoking
@@ -796,38 +796,11 @@
 	}; // class MLtsyDispatchCallControlSetAlsBlocked
 
 
-class MLtsyDispatchCallControlGetLifeTime : public MLtsyDispatchInterface
-	{
-public:
-
-	static const TInt KLtsyDispatchCallControlGetLifeTimeApiId = KDispatchCallControlFuncUnitId + 24;
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetLifeTimeIPC
-	 * request from the CTSY.
-	 *
-	 * It is a request call that is completed by invoking one of the 
-	 * CCtsyDispatcherCallback::CallbackCallControlGetLifeTimeComp()
-	 *
-	 * Implementation of this interface should return the lifetime of the phone. The lifetime
-     * information includes the manufacturing date of the phone and/or the total amount of air time used
-     * from the manufacturing date until the call to this method. Calling this method does not reset any data. 
-	 *
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 *
-	 * @see RMmCustomAPI::GetLifeTime()
-	 */
-	virtual TInt HandleGetLifeTimeL() = 0;
-
-	}; // class MLtsyDispatchCallControlGetLifeTimeStatus
-
-
 class MLtsyDispatchCallControlTerminateErrorCall : public MLtsyDispatchInterface
 	{
 public:
 
-	static const TInt KLtsyDispatchCallControlTerminateErrorCallApiId = KDispatchCallControlFuncUnitId + 25;
+	static const TInt KLtsyDispatchCallControlTerminateErrorCallApiId = KDispatchCallControlFuncUnitId + 24;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomTerminateCallIPC
@@ -854,7 +827,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchCallControlTerminateAllCallsApiId = KDispatchCallControlFuncUnitId + 26;
+	static const TInt KLtsyDispatchCallControlTerminateAllCallsApiId = KDispatchCallControlFuncUnitId + 25;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomTerminateCallIPC
@@ -875,60 +848,6 @@
 	}; // class MLtsyDispatchCallControlTerminateAllCalls
 
 
-class MLtsyDispatchCallControlGetCallForwardingIndicator : public MLtsyDispatchInterface
-	{
-public:
-
-	static const TInt KLtsyDispatchCallControlGetCallForwardingIndicatorApiId = KDispatchCallControlFuncUnitId + 27;
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetIccCallForwardingStatusIPC
-	 * request from the CTSY.
-	 *
-	 * It is a request call that is completed by invoking one of the 
-	 * CCtsyDispatcherCallback::CallbackCallControlGetCallForwardingIndicatorComp()
-	 *
-	 * Implementation of this interface should return the call forwarding indicator from the network.
-	 *
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 *
-	 * @see RMmCustomAPI::GetIccCallForwardingIndicatorStatus()
-	 */
-	virtual TInt HandleGetCallForwardingIndicatorL() = 0;
-
-	}; // class MLtsyDispatchCallControlGetCallForwardingIndicator
-
-class MLtsyDispatchCallControlUpdateLifeTimer : public MLtsyDispatchInterface
-	{
-public:
-	static const TInt KLtsyDispatchCallControlUpdateLifeTimerApiId = KDispatchCallControlFuncUnitId + 28;
-public:
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the
-	 * ECtsyUpdateLifeTimeReq request from the CTSY.
-	 *
-	 * It is a request call that is completed by invoking
-	 * CCtsyDispatcherCallback::CallbackCallControlUpdateLifeTimerComp()
-	 *
-	 * Implementation of this interface can accumulate the number of seconds that
-	 * have elapsed since a call started. By initialising a variable in the LTSY when a 
-	 * call is dialed, then adding the value contained in aDuration to this variable 
-	 * it is possible to track the duration of a call.
-	 * 
-	 * HandleUpdateLifeTimerReqL is usually invoked every 10 seconds.
-	 *
-	 * @param aDuration The number of seconds that have elapsed since the last time
-	 * this interface was invoked (or since the start of the call if the first invocation).
-	 *
-	 * @return KErrNone if the LTSY was successful; KErrNotSupported if the LTSY does not
-	 * support handling of this request or another error code indicating the
-	 * failure otherwise.
-	 */
-	virtual TInt HandleUpdateLifeTimerReqL(TUint32 aDuration) = 0;
-
-	}; // class MLtsyDispatchCallControlUpdateLifeTimer
 
 	
 // Note: A static constant has been defined in MLtsyDispatchCallControlSwap (abbove) with the highest Id 
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchcellbroadcastinterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchcellbroadcastinterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -74,6 +74,7 @@
 
 	}
 
+
 class MLtsyDispatchCellBroadcastSetBroadcastFilterSetting : public MLtsyDispatchInterface
 	{
 public:
@@ -120,7 +121,6 @@
 	 * RMobileBroadcastMessaging::ReceiveMessage will be completed when a new incoming broadcast message has been received
 	 * via CallbackCellBroadcastGsmBroadcastNotifyMessageReceivedInd() or CallbackCellBroadcastWcdmaBroadcastMessageReceivedInd()
 	 * 
-     * @param aFilterSetting struct settings for a filter to accept/reject messages
 	 *
 	 * @return KErrNone on success, otherwise another error code indicating the
 	 * failure.
@@ -129,7 +129,7 @@
 	 * @see CCtsyDispatcherCallback::CallbackCellBroadcastGsmBroadcastNotifyMessageReceivedInd()
 	 * @see CCtsyDispatcherCallback::CallbackCellBroadcastWcdmaBroadcastMessageReceivedInd()
 	 */
-	virtual TInt HandleActivateBroadcastReceiveMessageReqL(RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter aFilterSetting) = 0;
+	virtual TInt HandleActivateBroadcastReceiveMessageReqL() = 0;
 
 	}; // class MLtsyDispatchCellBroadcastActivateBroadcastReceiveMessage
 
@@ -149,59 +149,14 @@
 	 * CCtsyDispatcherCallback::CallbackCellBroadcastReceiveMessageCancelComp()
 	 *
 	 *
-     * @param aFilterSetting struct settings for a filter to accept/reject messages
-	 *
 	 * @return KErrNone on success, otherwise another error code indicating the
 	 * failure.
 	 * 
 	 * @see RMobileBroadcastMessaging::ReceiveMessage()
 	 * @see RMobileBroadcastMessaging::Close()
 	 */
-	virtual TInt HandleReceiveMessageCancelReqL(RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter aFilterSetting ) = 0;
+	virtual TInt HandleReceiveMessageCancelReqL() = 0;
 
 	}; // class MLtsyDispatchCellBroadcastReceiveMessageCancel
-	
-class MLtsyDispatchCellBroadcastStartSimCbTopicBrowsing : public MLtsyDispatchInterface
-	{
-public:
-
-	static const TInt KLtsyDispatchCellBroadcastStartSimCbTopicBrowsingApiId = KDispatchCellBroadcastFuncUnitId + 4;
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomStartSimCbTopicBrowsingIPC
-	 * request from the CTSY.
-	 *
-	 * It is a request call that is completed by invoking
-	 * CCtsyDispatcherCallback::CallbackCellBroadcastStartSimCbTopicBrowsingComp()
-	 *     
-	 *
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 */
-	virtual TInt HandleStartSimCbTopicBrowsingReqL() = 0;
-
-	}; // class MLtsyDispatchCellBroadcastStartSimCbTopicBrowsing	
-
-class MLtsyDispatchCellBroadcastDeleteSimCbTopic : public MLtsyDispatchInterface
-	{
-public:
-
-	static const TInt KLtsyDispatchCellBroadcastDeleteSimCbTopicApiId = KDispatchCellBroadcastFuncUnitId + 5;
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomDeleteSimCbTopicIPC
-	 * request from the CTSY.
-	 *
-	 * It is a request call that is completed by invoking
-	 * CCtsyDispatcherCallback::CallbackCellBroadcastDeleteSimCbTopicComp()
-	 *     
-	 *
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 */
-	virtual TInt HandleDeleteSimCbTopicReqL(TUint aIndex, TBool aDeleteFlag) = 0;
-
-	}; // class MLtsyDispatchCellBroadcastDeleteSimCbTopic	
-
 
 #endif /*MLTSYDISPATCHCELLBROADCASTINTERFACE_H_*/
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchinterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchinterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -43,6 +43,7 @@
 const TInt KDispatchSupplementaryServicesFuncUnitId = 20000;
 const TInt KDispatchPacketServicesFuncUnitId = 22000;
 const TInt KDispatchSatFuncUnitId = 24000;
+const TInt KDispatchOtherDomainFuncUnitId = 26000;
 
 /**
  * Identifies the group that a set of IDs belong to.  
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchpacketservicesinterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchpacketservicesinterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -147,7 +147,7 @@
 	 * Implementation of this interface should pass LTSY the parameters it needs to set the 
 	 * context configuration 
 	 *
-	 * @param aContextId the context name
+	 * @param aContextName the context name
 	 * @param aAccessPointName the access name which identifies the GGSN to be used
  	 * @param aPdpType the protocol type
  	 * @param aPdpAddress the PDP address for this context
@@ -156,7 +156,7 @@
 	 * @return KErrNone on success, otherwise another error code indicating the
 	 * failure.
 	 */
-	virtual TInt HandleSetPdpContextConfigReqL(const TDesC& aContextId,
+	virtual TInt HandleSetPdpContextConfigReqL(const TDesC& aContextName,
 			const TDesC8& aAccessPointName,
 			const RPacketContext::TProtocolType aPdpType,
 			const TDesC8& aPdpAddress,
@@ -192,15 +192,15 @@
 
 
 
-class MLtsyDispatchPacketServicesInitialisePdpContext : public MLtsyDispatchInterface
+class MLtsyDispatchPacketServicesInitialisePrimaryPdpContext : public MLtsyDispatchInterface
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesInitialisePdpContextApiId = KDispatchPacketServicesFuncUnitId + 7;
+	static const TInt KLtsyDispatchPacketServicesInitialisePrimaryPdpContextApiId = KDispatchPacketServicesFuncUnitId + 7;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextInitialiseContext
-	 * request from the CTSY.
+	 * request to initialize a primary context from the CTSY.
 	 *
 	 * It is a request call that is completed by invoking
 	 * CCtsyDispatcherCallback::CallbackPacketServicesInitialisePdpContextComp()
@@ -209,22 +209,44 @@
 	 *
      * @param aPrimaryContextName Primary context name in the form of a character string, 
 	 * the maximum length of the descriptor should not exceed KMaxInfoName.
-     * @param aSecondaryContextName Optional secondary context name in the form of a character
-     * string, the maximum length of the descriptor should not exceed KMaxInfoName.
-	 *
+     *
 	 * @return KErrNone on success, otherwise another error code indicating the
 	 * failure.
 	 */
-	virtual TInt HandleInitialisePdpContextReqL(const TDesC& aPrimaryContextName, const TDesC& aSecondaryContextName) = 0;
-	}; // class MLtsyDispatchPacketServicesInitialisePdpContext
+	virtual TInt HandleInitialisePrimaryPdpContextReqL(const TDesC& aPrimaryContextName) = 0;
+	}; // class MLtsyDispatchPacketServicesInitialisePrimaryPdpContext
+
+class MLtsyDispatchPacketServicesInitialiseSecondaryPdpContext : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchPacketServicesInitialiseSecondaryPdpContextApiId = KDispatchPacketServicesFuncUnitId + 8;
 
-
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextInitialiseContext
+     * request to initialize a secondary context from the CTSY.
+     *
+     * It is a request call that is completed by invoking
+     * CCtsyDispatcherCallback::CallbackPacketServicesInitialisePdpContextComp()
+     * Implementation of this interface should initialise either primary or secondary contexts
+     *
+     *
+     * @param aPrimaryContextName Primary context name in the form of a character string, 
+     * the maximum length of the descriptor should not exceed KMaxInfoName.
+     * @param aSecondaryContextName Secondary context name in the form of a character
+     * string, the maximum length of the descriptor should not exceed KMaxInfoName.
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     */
+    virtual TInt HandleInitialiseSecondaryPdpContextReqL(const TDesC& aPrimaryContextName, const TDesC& aSecondaryContextName) = 0;
+    }; // class MLtsyDispatchPacketServicesInitialiseSecondaryPdpContext
 
 class MLtsyDispatchPacketServicesDeletePdpContext : public MLtsyDispatchInterface
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesDeletePdpContextApiId = KDispatchPacketServicesFuncUnitId + 8;
+	static const TInt KLtsyDispatchPacketServicesDeletePdpContextApiId = KDispatchPacketServicesFuncUnitId + 9;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextDelete
@@ -251,7 +273,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesSetPacketAttachModeApiId = KDispatchPacketServicesFuncUnitId + 9;
+	static const TInt KLtsyDispatchPacketServicesSetPacketAttachModeApiId = KDispatchPacketServicesFuncUnitId + 10;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EPacketSetAttachMode
@@ -272,28 +294,6 @@
 
 
 
-class MLtsyDispatchPacketServicesNotifyPacketStatusChange : public MLtsyDispatchInterface
-	{
-public:
-
-	static const TInt KLtsyDispatchPacketServicesNotifyPacketStatusChangeApiId = KDispatchPacketServicesFuncUnitId + 10;
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the EPacketNotifyStatusChange
-	 * request from the CTSY.
-	 *
-	 * It is a request call that is completed by invoking
-	 * CCtsyDispatcherCallback::CallbackPacketServicesNotifyPacketStatusChangeComp()
-	 *
-	 * Implementation of this interface should notify when the status of the packet service was changed.
-	 * 
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 */
-	virtual TInt HandleNotifyPacketStatusChangeReqL() = 0;
-
-	}; // class MLtsyDispatchPacketServicesNotifyPacketStatusChange
-
 
 
 class MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams : public MLtsyDispatchInterface
@@ -531,33 +531,12 @@
 
 	}; // class MLtsyDispatchPacketServicesAddPacketFilter
 
-class MLtsyDispatchPacketServicesGetStatus : public MLtsyDispatchInterface
-	{
-public:
-
-	static const TInt KLtsyDispatchPacketServicesGetStatusApiId = KDispatchPacketServicesFuncUnitId + 20;
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function during the packet services bootup
-	 * as part of EPacketNotifyStatusChange call.
-	 * 
-	 * It is a request call that is completed by invoking
-	 * CCtsyDispatcherCallback::CallbackPacketServicesGetStatusComp()
-	 * 
-	 * Implemetation of this interface should retrieve the packet service status.
-	 * 
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 */
-	virtual TInt HandleGetStatusReqL() = 0;
-
-	}; // class MLtsyDispatchPacketServicesGetStatus
 
 class MLtsyDispatchPacketServicesGetStaticCapabilities : public MLtsyDispatchInterface
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesGetStaticCapabilitiesApiId = KDispatchPacketServicesFuncUnitId + 21;
+	static const TInt KLtsyDispatchPacketServicesGetStaticCapabilitiesApiId = KDispatchPacketServicesFuncUnitId + 20;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function during the packet services bootup
@@ -584,7 +563,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesGetMaxNoMonitoredServiceListsApiId = KDispatchPacketServicesFuncUnitId + 22;
+	static const TInt KLtsyDispatchPacketServicesGetMaxNoMonitoredServiceListsApiId = KDispatchPacketServicesFuncUnitId + 21;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function during the packet services bootup
@@ -611,7 +590,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesGetMaxNoActiveServicesApiId = KDispatchPacketServicesFuncUnitId + 23;
+	static const TInt KLtsyDispatchPacketServicesGetMaxNoActiveServicesApiId = KDispatchPacketServicesFuncUnitId + 22;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function during the packet services bootup
@@ -635,7 +614,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesInitialiseMbmsContextApiId = KDispatchPacketServicesFuncUnitId + 24;
+	static const TInt KLtsyDispatchPacketServicesInitialiseMbmsContextApiId = KDispatchPacketServicesFuncUnitId + 23;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the ECtsyPacketMbmsInitialiseContextReq
@@ -664,7 +643,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId = KDispatchPacketServicesFuncUnitId + 25;
+	static const TInt KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId = KDispatchPacketServicesFuncUnitId + 24;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EPacketGetMbmsNetworkServiceStatus
@@ -701,7 +680,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId = KDispatchPacketServicesFuncUnitId + 26;
+	static const TInt KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId = KDispatchPacketServicesFuncUnitId + 25;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EPacketUpdateMbmsMonitorServiceList
@@ -734,7 +713,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId = KDispatchPacketServicesFuncUnitId + 27;
+	static const TInt KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId = KDispatchPacketServicesFuncUnitId + 26;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextUpdateMbmsSessionList
@@ -766,7 +745,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchPacketServicesRemovePacketFilterApiId = KDispatchPacketServicesFuncUnitId + 28;
+	static const TInt KLtsyDispatchPacketServicesRemovePacketFilterApiId = KDispatchPacketServicesFuncUnitId + 27;
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextRemovePacketFilter
 	 * request from the CTSY.
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchphonebookinterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchphonebookinterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -73,6 +73,9 @@
 			iAdnTotalEntries(-1),
 			iAdnMaximumTextLength(-1),
 			iAdnMaximumNumberLength(-1),
+			iBdnTotalEntries(-1),
+			iBdnMaximumTextLength(-1),
+			iBdnMaximumNumberLength(-1),
 			iFdnTotalEntries(-1),
 			iFdnMaximumTextLength(-1),
 			iFdnMaximumNumberLength(-1),
@@ -101,6 +104,11 @@
 		TInt iAdnMaximumTextLength;
 		TInt iAdnMaximumNumberLength;
 
+		//Barred Dailling Numbers
+		TInt iBdnTotalEntries;
+		TInt iBdnMaximumTextLength;
+		TInt iBdnMaximumNumberLength;
+		
 		//Fixed Dialling numbers
 		TInt iFdnTotalEntries;
 		TInt iFdnMaximumTextLength;
@@ -384,8 +392,8 @@
 	 *
 	 *
 	 * @param aPhonebook The phonebook to be written to.
-	 * @param aEntry The entry to be written, this is coded as a TLV, this can be decoded either
-	 * directly via a CPhoneBookBuffer() or via the CPhoneBookEntry::InternalizeFromTlvEntry() utility.
+	 * @param aEntry The entry to be written, this is coded as a TLV (Type-Length-Value tuplet used to create extensible protocols), 
+	 * this can be decoded either directly via a CPhoneBookBuffer() or via the CPhoneBookEntry::InternalizeFromTlvEntry() utility.
 	 *
 	 *
 	 * @return KErrNone on success, otherwise another error code indicating the
@@ -592,4 +600,28 @@
 	}; // class MLtsyDispatchPhonebookSmsStoreWriteEntry
 
 
+class MLtsyDispatchPhonebookGetMailboxNumbers : public MLtsyDispatchInterface
+    {
+public:
+    
+    static const TInt KLtsyDispatchPhonebookGetMailboxNumbersApiId = KDispatchPhonebookFuncUnitId + 16;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetMailboxNumbers
+     * request from the CTSY.
+     * 
+     * Callback is CCtsyDispatcherCallback::CallbackPhonebookGetMailboxNumbersComp()
+     *
+     * Implementation of this interface should request to get the Mailbox numbers identifier information 
+     * from the EF_MBI file in the USIM.
+     *
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     */
+     
+    virtual TInt HandleGetMailboxNumbersReqL() = 0;
+
+    }; // class MLtsyDispatchPhonebookGetMailboxNumbers
+
 #endif /*MLTSYDISPATCHPHONEBOOKINTERFACE_H_*/
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsecurityinterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsecurityinterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -45,6 +45,7 @@
 	    ESecCodePuk,
 	    ESecCodePin2,
 	    ESecCodePuk2,
+	    ESecurityUniversalPin,
 	    ESecCodeUpin = 7    
 	    };
 
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsiminterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsiminterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -482,12 +482,10 @@
 	 * 
 	 * Implementation of this interface should retrieve the answer to reset. 
 	 *
-	 * @param aAnswerToReset The answer to reset information which contains details of the request.
-	 *
 	 * @return KErrNone on success, otherwise another error code indicating the
 	 * failure.
 	 */
-	virtual TInt HandleGetAnswerToResetReqL(const TDesC8& aAnswerToReset) = 0;
+	virtual TInt HandleGetAnswerToResetReqL() = 0;
 
 	}; // class MLtsyDispatchSimGetAnswerToReset
 
@@ -532,12 +530,11 @@
 	 * Implementation of this interface should retrieve Sim Authentication Data for EapSim authentication method.
 	 *
 	 * @param aRandomParameters The random parameters from the client.
-	 * @param aRFStateInfo The RF state info.
 	 * 
 	 * @return KErrNone on success, otherwise another error code indicating the
 	 * failure.
 	 */
-	virtual TInt HandleGetSimAuthenticationEapSimDataReqL(const TDesC8& aRandomParameters, TInt aRFStateInfo) = 0;
+	virtual TInt HandleGetSimAuthenticationEapSimDataReqL(const TDesC8& aRandomParameters) = 0;
 
 	}; // class MLtsyDispatchSimGetSimAuthenticationEapSimData
 
@@ -560,12 +557,11 @@
 	 * @param aRandomParameters The random parameters from the client.
 	 * @param aAUTN The AUTN parameter. AUTN is an authentication value generated by
 	 *        the Authentication Centre, which, together with the random parameters, authenticates the server to the peer, 128 bits.
-	 * @param aRFStateInfo The RF state info.
 	 *
 	 * @return KErrNone on success, otherwise another error code indicating the
 	 * failure.
 	 */
-	virtual TInt HandleGetSimAuthenticationEapAkaDataReqL(const TDesC8& aRandomParameters, const TDesC8& aAUTN, TInt aRFStateInfo) = 0;
+	virtual TInt HandleGetSimAuthenticationEapAkaDataReqL(const TDesC8& aRandomParameters, const TDesC8& aAUTN) = 0;
 
 	}; // class MLtsyDispatchSimGetSimAuthenticationEapAkaData
 
@@ -772,4 +768,177 @@
 	}; // class MLtsyDispatchSimSetSimMessageStatusRead
 
 
+class MLtsyDispatchCellBroadcastStartSimCbTopicBrowsing : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchCellBroadcastStartSimCbTopicBrowsingApiId = KDispatchSimFuncUnitId + 29;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the ECustomStartSimCbTopicBrowsingIPC
+     * request from the CTSY.
+     *
+     * It is a request call that is completed by invoking
+     * CCtsyDispatcherCallback::CallbackCellBroadcastStartSimCbTopicBrowsingComp()
+     *     
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     */
+    virtual TInt HandleStartSimCbTopicBrowsingReqL() = 0;
+
+    }; // class MLtsyDispatchCellBroadcastStartSimCbTopicBrowsing   
+
+
+class MLtsyDispatchCellBroadcastDeleteSimCbTopic : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchCellBroadcastDeleteSimCbTopicApiId = KDispatchSimFuncUnitId + 30;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the ECustomDeleteSimCbTopicIPC
+     * request from the CTSY.
+     *
+     * It is a request call that is completed by invoking
+     * CCtsyDispatcherCallback::CallbackCellBroadcastDeleteSimCbTopicComp()
+     *     
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     */
+    virtual TInt HandleDeleteSimCbTopicReqL(TUint aIndex, TBool aDeleteFlag) = 0;
+
+    }; // class MLtsyDispatchCellBroadcastDeleteSimCbTopic  
+
+
+class MLtsyDispatchSmsGetSmspList : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchSmsGetSmspListApiId = KDispatchSimFuncUnitId + 31;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingGetSmspListPhase1
+     * request from the CTSY.
+     *
+     * It is a request call that is completed by invoking
+     * CCtsyDispatcherCallback::CallbackSmsGetSmspListComp()
+     *
+     * Implementation of this interface should request to read the SMS parameter list from the SIM's SMSP store.
+     *
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     * 
+     * @see CMobilePhoneSmspList()
+     * @see CRetrieveMobilePhoneSmspList()
+     */
+    virtual TInt HandleGetSmspListReqL() = 0;
+
+    }; // class MLtsyDispatchSmsGetSmspList
+
+
+class MLtsyDispatchSmsStoreSmspListEntry : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchSmsStoreSmspListEntryApiId = KDispatchSimFuncUnitId + 32;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingStoreSmspList
+     * request from the CTSY.
+     * 
+     * It is a request call that is completed by invoking
+     * CCtsyDispatcherCallback::CallbackSmsStoreSmspListEntryComp()
+     * 
+     * Implementation of this interface should handle the request to store a SMSP entry 
+     * in the SIM's SMSP file
+     *
+     * @param aSmspEntry Defines a set of SMS parameters
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     */
+    virtual TInt HandleStoreSmspListEntryReqL(const RMobileSmsMessaging::TMobileSmspEntryV1& aSmspEntry) = 0;
+
+    }; // class MLtsyDispatchSmsStoreSmspList
+
+
+class MLtsyDispatchSmsGetSmsStoreInfo : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchSmsGetSmsStoreInfoApiId = KDispatchSimFuncUnitId + 33;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingGetMessageStoreInfo
+     * request from the CTSY.
+     *
+     * It is a request call that is completed by invoking
+     * CCtsyDispatcherCallback::CallbackSmsGetSmsStoreInfoComp()
+     *
+     * Implementation of this interface should retrieve the current Sms store information.
+     *
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     * 
+     * @see RMobileSmsMessaging::GetMessageStoreInfo
+     */
+    virtual TInt HandleGetSmsStoreInfoReqL() = 0;
+
+    }; // class MLtsyDispatchSmsGetSmsStoreInfo
+
+
+class MLtsyDispatchCallControlGetCallForwardingIndicator : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchCallControlGetCallForwardingIndicatorApiId = KDispatchSimFuncUnitId + 34;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetIccCallForwardingStatusIPC
+     * request from the CTSY.
+     *
+     * It is a request call that is completed by invoking one of the 
+     * CCtsyDispatcherCallback::CallbackCallControlGetCallForwardingIndicatorComp()
+     *
+     * Implementation of this interface should return the call forwarding indicator from the network.
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     *
+     * @see RMmCustomAPI::GetIccCallForwardingIndicatorStatus()
+     */
+    virtual TInt HandleGetCallForwardingIndicatorL() = 0;
+
+    }; // class MLtsyDispatchCallControlGetCallForwardingIndicator
+
+class MLtsyDispatchSimGetImsAuthorizationInfo : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchSimGetImsAuthorizationInfoApiId = KDispatchSimFuncUnitId + 35;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneAuthorizationInfoPhase1
+     * request from the CTSY.
+     *
+     * It is a request call that is completed by invoking one of the 
+     * CCtsyDispatcherCallback::CallbackSimGetImsAuthorizationInfoComp
+     *
+     * Implementation of this interface should return the call forwarding indicator from the network.
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     *
+     * @see CMmNetTsy::GetAuthorizationInfoPhase1L()
+     */
+    virtual TInt HandleGetImsAuthorizationInfoReqL() = 0;    
+
+    }; // class MLtsyDispatchSimGetImsAuthorizationInfo
+
+
+
 #endif /*MLTSYDISPATCHSIMINTERFACE_H_*/
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsmsinterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsmsinterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"
@@ -92,6 +92,7 @@
 	    };	
 	}
 
+
 class MLtsyDispatchSmsSendSatSms : public MLtsyDispatchInterface
 	{
 public:
@@ -127,67 +128,11 @@
 	}; // class MLtsyDispatchSmsSendSatSms
 
 
-
-class MLtsyDispatchSmsGetSmsStoreInfo : public MLtsyDispatchInterface
-	{
-public:
-
-	static const TInt KLtsyDispatchSmsGetSmsStoreInfoApiId = KDispatchSmsFuncUnitId + 2;
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingGetMessageStoreInfo
-	 * request from the CTSY.
-	 *
-	 * It is a request call that is completed by invoking
-	 * CCtsyDispatcherCallback::CallbackSmsGetSmsStoreInfoComp()
-	 *
-	 * Implementation of this interface should retrieve the current Sms store information.
-	 *
-	 *
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 * 
-	 * @see RMobileSmsMessaging::GetMessageStoreInfo
-	 */
-	virtual TInt HandleGetSmsStoreInfoReqL() = 0;
-
-	}; // class MLtsyDispatchSmsGetSmsStoreInfo
-
-
-
-class MLtsyDispatchSmsGetSmspList : public MLtsyDispatchInterface
-	{
-public:
-
-	static const TInt KLtsyDispatchSmsGetSmspListApiId = KDispatchSmsFuncUnitId + 3;
-
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingGetSmspListPhase1
-	 * request from the CTSY.
-	 *
-	 * It is a request call that is completed by invoking
-	 * CCtsyDispatcherCallback::CallbackSmsGetSmspListComp()
-	 *
-	 * Implementation of this interface should request to read the SMS parameter list from the SIM's SMSP store.
-	 *
-	 *
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 * 
-	 * @see CMobilePhoneSmspList()
-	 * @see CRetrieveMobilePhoneSmspList()
-	 */
-	virtual TInt HandleGetSmspListReqL() = 0;
-
-	}; // class MLtsyDispatchSmsGetSmspList
-
-
-
 class MLtsyDispatchSmsNackSmsStored : public MLtsyDispatchInterface
 	{
 public:
 
-	static const TInt KLtsyDispatchSmsNackSmsStoredApiId = KDispatchSmsFuncUnitId + 4;
+	static const TInt KLtsyDispatchSmsNackSmsStoredApiId = KDispatchSmsFuncUnitId + 2;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingNackSmsStored
@@ -239,7 +184,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchSmsAckSmsStoredApiId = KDispatchSmsFuncUnitId + 5;
+	static const TInt KLtsyDispatchSmsAckSmsStoredApiId = KDispatchSmsFuncUnitId + 3;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingAckSmsStored
@@ -289,7 +234,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchSmsResumeSmsReceptionApiId = KDispatchSmsFuncUnitId + 6;
+	static const TInt KLtsyDispatchSmsResumeSmsReceptionApiId = KDispatchSmsFuncUnitId + 4;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingResumeSmsReception
@@ -312,7 +257,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchSmsSendSmsMessageApiId = KDispatchSmsFuncUnitId + 7;
+	static const TInt KLtsyDispatchSmsSendSmsMessageApiId = KDispatchSmsFuncUnitId + 5;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingSendMessage
@@ -348,7 +293,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchSmsSendSmsMessageNoFdnCheckApiId = KDispatchSmsFuncUnitId + 8;
+	static const TInt KLtsyDispatchSmsSendSmsMessageNoFdnCheckApiId = KDispatchSmsFuncUnitId + 6;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingSendMessageNoFdnCheck
@@ -384,7 +329,7 @@
 	{
 public:
 
-	static const TInt KLtsyDispatchSmsSetMoSmsBearerApiId = KDispatchSmsFuncUnitId + 9;
+	static const TInt KLtsyDispatchSmsSetMoSmsBearerApiId = KDispatchSmsFuncUnitId + 7;
 
 	/**
 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingSetMoSmsBearer
@@ -406,31 +351,53 @@
 	}; // class MLtsyDispatchSmsSetMoSmsBearer
 
 
-
-class MLtsyDispatchSmsStoreSmspListEntry : public MLtsyDispatchInterface
-	{
+class MLtsyDispatchSmsRoutingActivate : public MLtsyDispatchInterface
+    {
 public:
 
-	static const TInt KLtsyDispatchSmsStoreSmspListEntryApiId = KDispatchSmsFuncUnitId + 10;
+    static const TInt KLtsyDispatchSmsRoutingActivateApiId = KDispatchSmsFuncUnitId + 8;
 
-	/**
-	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingStoreSmspList
-	 * request from the CTSY.
-	 * 
-	 * It is a request call that is completed by invoking
-	 * CCtsyDispatcherCallback::CallbackSmsStoreSmspListComp()
-	 * 
-	 * Implementation of this interface should handle the request to store a SMSP entry 
-	 * in the SIM's SMSP file
-	 *
-	 * @param aSmspEntry Defines a set of SMS parameters
-	 *
-	 * @return KErrNone on success, otherwise another error code indicating the
-	 * failure.
-	 */
-	virtual TInt HandleStoreSmspListEntryReqL(const RMobileSmsMessaging::TMobileSmspEntryV1& aSmspEntry) = 0;
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyActivateSmsRouting
+     * request from the CTSY.
+     *
+     * It is a request call that is completed by invoking
+     * CCtsyDispatcherCallback::CallbackSmsRoutingActivateComp()
+     *
+     * Implementation of this interface should allow client to set SMS bearer
+     * 
+     * 
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     */
+    virtual TInt HandleSmsRoutingActivateReqL() = 0;
 
-	}; // class MLtsyDispatchSmsStoreSmspList
+    }; // class MLtsyDispatchSmsRoutingActivate
 
 
+class MLtsyDispatchSmsRoutingDeactivate : public MLtsyDispatchInterface
+    {
+public:
+
+    static const TInt KLtsyDispatchSmsRoutingDeactivateApiId = KDispatchSmsFuncUnitId + 9;
+
+    /**
+     * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyDeactivateSmsRouting?
+     * request from the CTSY.
+     *
+     * It is a request call that is completed by invoking
+     * CCtsyDispatcherCallback::CallbackSmsRoutingDeactivateComp()
+     *
+     * Implementation of this interface should allow client to set SMS bearer
+     * 
+     * 
+     *
+     * @return KErrNone on success, otherwise another error code indicating the
+     * failure.
+     */
+    virtual TInt HandleSmsRoutingDeactivateReqL() = 0;
+
+    }; // class MLtsyDispatchSmsRoutingDeactivate
+
 #endif /*MLTSYDISPATCHSMSINTERFACE_H_*/
--- a/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsupplementaryservicesinterface.h	Thu Aug 12 13:20:01 2010 +0100
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsupplementaryservicesinterface.h	Thu Aug 12 13:24:19 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 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"