Revision: 201015 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 14 Apr 2010 17:11:46 +0300
branchRCL_3
changeset 8 3f227a47ad75
parent 7 fe8b59ab9fa0
child 9 2492a6e4aed7
Revision: 201015 Kit: 201015
smsprotocols/smsstack/gsmu/src/stubs.cpp
telephonyprotocols/pdplayer/test/controlplane/group/bld.inf
telephonyprotocols/pdplayer/test/controlplane/group/te_pdpcontrolplane.iby
telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp-controlplane.script
telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp-controlplane28.script
telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp-controlplane29.script
telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp_controlplane.script
telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp_controlplane28.script
telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp_controlplane29.script
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdpstresstestsparam.ini
telephonyprotocols/rawipnif/data/epocrawip.ini
telephonyprotocols/rawipnif/group/RawIpNif.iby
telephonyprotocols/rawipnif/inc/BcaIoController.h
telephonyprotocols/rawipnif/inc/Constants.h
telephonyprotocols/rawipnif/inc/Receiver.h
telephonyprotocols/rawipnif/src/Receiver.cpp
telephonyserver/etelserverandcore/TETEL/TE_ETEL/TE_Etelflowcontrol.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmgsmwcdma/cmmcallgsmwcdmaext.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmtsy/CMmMessageRouterProxy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmdatacalltsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmutility/cmmtsyreqhandlestore.cpp
telephonyserverplugins/common_tsy/test/component/inc/cctsycallcontrolfu.h
telephonyserverplugins/common_tsy/test/component/inc/cctsycallownershipfu.h
telephonyserverplugins/common_tsy/test/component/inc/cctsyphonebookstorefu.h
telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callcontrol_individual.script
telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callownership_individual.script
telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_phonebookstore_individual.script
telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_telephonyaudiocontrol_individual.script
telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsycallinformationfu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsycallownershipfu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsyfixeddiallingfu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsyphonebookstorefu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsysmsmessagingfu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsysubscriberinfofu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsytelephonyaudiocontrolfu.cpp
telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestapncontrollist.cpp
telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallcontrol.cpp
telephonyserverplugins/common_tsy/test/integration/src/tcallcontroltsytesthelper.cpp
telephonyserverplugins/common_tsy/test/integration/src/tnetworktsytesthelper.cpp
telephonyserverplugins/common_tsy/test/integration/src/tpacketservicetsytesthelper.cpp
telephonyserverplugins/ctsydispatchlayer/test/dispatchertests/dispatchsrc/cctsyphonefu.cpp
--- a/smsprotocols/smsstack/gsmu/src/stubs.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/smsprotocols/smsstack/gsmu/src/stubs.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -43,15 +43,14 @@
     BULLSEYE_RESTORE
     }
 
-BULLSEYE_OFF
-
 // Was CSmsMessage::CompressionSettings(TGsmCompressionSettings &) const
 EXPORT_C void PanicStub3()
     {
+    BULLSEYE_OFF
     // Ignore in code coverage - deprecated method
     Panic(KGsmuPanicDeprecatedMethod);
+    BULLSEYE_RESTORE
     }
-BULLSEYE_RESTORE
 
 // Was CSmsMessage::CompressionSupportedL(RFs &)
 EXPORT_C void PanicStub4()
--- a/telephonyprotocols/pdplayer/test/controlplane/group/bld.inf	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyprotocols/pdplayer/test/controlplane/group/bld.inf	Wed Apr 14 17:11:46 2010 +0300
@@ -31,9 +31,11 @@
 ../configs/te_controlplanenetworksideloopbackcsy.ini      z:/testdata/configs/te_controlplanenetworksideloopbackcsy.ini
 
 
-../scripts/te_PDP-ControlPlane.script                     z:/testdata/scripts/te_PDP-ControlPlane.script
-../scripts/te_PDP-ControlPlane28.script                   z:/testdata/scripts/te_PDP-ControlPlane28.script
-../scripts/te_PDP-ControlPlane29.script                   z:/testdata/scripts/te_PDP-ControlPlane29.script
+../scripts/te_PDP_ControlPlane.script                     z:/testdata/scripts/te_PDP_ControlPlane.script
+../scripts/te_PDP_ControlPlane28.script                   z:/testdata/scripts/te_PDP_ControlPlane28.script
+../scripts/te_PDP_ControlPlane29.script                   z:/testdata/scripts/te_PDP_ControlPlane29.script
+
+te_PDPControlPlane.iby	/epoc32/rom/include/te_PDPControlPlane.iby
 
 PRJ_MMPFILES
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/test/controlplane/group/te_pdpcontrolplane.iby	Wed Apr 14 17:11:46 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 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"
+* 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:
+*
+*/
+
+#ifndef TE_PDPCONTROLPLANE_IBY
+#define TE_PDPCONTROLPLANE_IBY
+
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_controlplanenetworkside1.xml Testdata\configs\te_controlplanenetworkside1.xml
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_controlplanenetworkside_config.txt Testdata\configs\te_controlplanenetworkside_config.txt
+
+data=EPOCROOT##epoc32\data\z\TestData\Scripts\te_PDP_ControlPlane.script Testdata\scripts\te_PDP_ControlPlane.script
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_controlplanenetworksideloopbackcsy.ini Testdata\configs\te_controlplanenetworksideloopbackcsy.ini
+
+data=EPOCROOT##epoc32\data\z\TestData\Scripts\te_PDP_ControlPlane28.script Testdata\scripts\te_PDP_ControlPlane28.script
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_controlplanenetworkside_test28.ini Testdata\configs\te_controlplanenetworkside_test28.ini
+
+data=EPOCROOT##epoc32\data\z\TestData\Scripts\te_PDP_ControlPlane29.script Testdata\scripts\te_PDP_ControlPlane29.script
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_controlplanenetworkside_test29.ini Testdata\configs\te_controlplanenetworkside_test29.ini
+
+
+#endif // TE_PDPCONTROLPLANE_IBY
\ No newline at end of file
--- a/telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp-controlplane.script	Wed Mar 31 23:24:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-//
-// Copyright (c) 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"
-// 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:
-//
-
-PRINT Run Control Plane Networkside Tests.
-
-run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
-ced z:\TestData\Configs\te_controlplanenetworkside1.xml
-run_script z:\TestData\scripts\te_esock_test_loadesock.script
-
-RUN_UTILS  MkDir c:\simtsy\
-RUN_UTILS  MkDir c:\private\
-RUN_UTILS  MkDir c:\private\101F7989\
-RUN_UTILS  MkDir c:\private\101F7989\esock\
-RUN_UTILS  MakeReadWrite c:\simtsy\config.txt
-RUN_UTILS  MakeReadWrite c:\config.txt
-RUN_UTILS  MakeReadWrite c:\loopback.ini
-RUN_UTILS  DeleteFile c:\simtsy\config.txt
-RUN_UTILS  DeleteFile c:\config.txt
-RUN_UTILS  DeleteFile c:\loopback.ini
-RUN_UTILS  CopyFile z:\TestData\Configs\te_controlplanenetworkside_config.txt c:\simtsy\config.txt
-RUN_UTILS  CopyFile z:\TestData\Configs\te_controlplanenetworkside_config.txt c:\config.txt
-RUN_UTILS  CopyFile z:\TestData\Configs\te_controlplanenetworksideloopbackcsy.ini c:\loopback.ini 
-
-LOAD_SUITE te_esockteststepsSuite -SharedData
-
-RUN_SCRIPT Z:\TestData\Scripts\te_PDP-ControlPlane28.script
-RUN_SCRIPT Z:\TestData\Scripts\te_PDP-ControlPlane29.script
-
-PRINT Complete_te_controlplanenetworkside tests
-
--- a/telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp-controlplane28.script	Wed Mar 31 23:24:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-//
-// Copyright (c) 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"
-// 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:
-//
-
-
-PRINT Running CASE28
-PRINT Validating notifications on the PDP tier
-
-//
-LOAD_SUITE te_esockteststepsSuite -SharedData
-RUN_SCRIPT z:\TestData\scripts\te_esock_test_loadesock.script
-
-START_TESTCASE			PDP-ControlPlane-0028
-//! @SYMTestCaseID		PDP-ControlPlane-0028
-//! @SYMTestCaseDesc  Validating notifications on the PDP tier
-//! @SYMPREQ 2624
-//! @SYMTestActions         Creating server connection to PDP tier, opening connections on SIM1/SIM2. 
-//! @SYMTestExpectedResults Validating that notifications are received when a connection is opened on SIM1/SIM2
-//! @SYMTestPriority High
-//! @SYMTestStatus Under development
-//! @SYMTestType UT
-
-// start simtsy
-RUN_TEST_STEP 100 te_esockteststepsSuite StartSimTSYStep  z:\testdata\configs\te_controlplanenetworkside_test28.ini SimTsy
-
-// create and open the first connection
-RUN_TEST_STEP 100 te_esockteststepsSuite creatersocketservStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CreateSockSvr1
-RUN_TEST_STEP 100 te_esockteststepsSuite connectrsocketservStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ConnectSockSvr1
-RUN_TEST_STEP 100 te_esockteststepsSuite createrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CreateConn1
-RUN_TEST_STEP 100 te_esockteststepsSuite openrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini OpenConn1
-
-// Connect at *link* tier
-RUN_TEST_STEP 100 te_esockteststepsSuite CreateRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CreateConnectionServA
-RUN_TEST_STEP 100 te_esockteststepsSuite ConnectRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ConnectConnectionServA
-RUN_TEST_STEP 100 te_esockteststepsSuite CreateRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CreateConnectionServS
-RUN_TEST_STEP 100 te_esockteststepsSuite ConnectRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ConnectConnectionServS
-
-// Request all changes to AP active status
-RUN_TEST_STEP 100 te_esockteststepsSuite RequestAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini APNotificationRequest1A
-RUN_TEST_STEP 100 te_esockteststepsSuite RequestAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini APNotificationRequest1S
-
-// Start connection on bearer and detect change at AP
-RUN_TEST_STEP 100 te_esockteststepsSuite startrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini StartConn1_1
-RUN_TEST_STEP 100 te_esockteststepsSuite ReceiveAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ReceiveNotification1A
-RUN_TEST_STEP 100 te_esockteststepsSuite ReceiveAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ReceiveNotification1S
-
-// Stop connection and detect change at AP
-RUN_TEST_STEP 100 te_esockteststepsSuite stoprconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini StopConn1_1
-RUN_TEST_STEP 100 te_esockteststepsSuite SetPacketDataAccessPointAvailabilityStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SetSimTsyUnavailable
-RUN_TEST_STEP 100 te_esockteststepsSuite ReceiveAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ReceiveNotification2A
-RUN_TEST_STEP 100 te_esockteststepsSuite ReceiveAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ReceiveNotification2S
-
-
-// Cancel the notification request
-RUN_TEST_STEP 100 te_esockteststepsSuite CancelAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CancelAPNotifRequestA
-RUN_TEST_STEP 100 te_esockteststepsSuite CancelAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CancelAPNotifRequestS
-
-// Clean up connections
-RUN_TEST_STEP 100 te_esockteststepsSuite closerconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CloseConn1
-
-// Close and cleanup resources
-RUN_TEST_STEP 100 te_esockteststepsSuite CloseRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CloseConnectionServA
-RUN_TEST_STEP 100 te_esockteststepsSuite CloseRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CloseConnectionServS
-RUN_TEST_STEP 100 te_esockteststepsSuite closersocketservStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CloseSockSvr1
-RUN_TEST_STEP 100 te_esockteststepsSuite cleanallStep
-
-// stop simtsy
-RUN_TEST_STEP 100 te_esockteststepsSuite StopSimTSYStep z:\testdata\configs\te_controlplanenetworkside_test28.ini SimTsy
-
-// Shutdown
-RUN_SCRIPT Z:\TestData\Scripts\te_esock_test_stopallinterfaces.script
-RUN_SCRIPT Z:\TestData\scripts\te_esock_test_unloadesockForced.script
-
-END_TESTCASE			PDP-ControlPlane-0028
--- a/telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp-controlplane29.script	Wed Mar 31 23:24:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-//
-// Copyright (c) 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"
-// 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:
-//
-
-
-PRINT Running CASE29
-PRINT Validating AP Queries on the PDP tier.
-
-//
-LOAD_SUITE te_esockteststepsSuite -SharedData
-RUN_SCRIPT z:\TestData\scripts\te_esock_test_loadesock.script
-
-START_TESTCASE			PDP-ControlPlane-0029
-//! @SYMTestCaseID		PDP-ControlPlane-0029
-//! @SYMTestCaseDesc  Validating AP Queries on the PDP tier.
-//! @SYMPREQ 2624
-//! @SYMTestActions         Creating server connection, opening connections on SIM1/SIM2 validating AP Query for PDP Tier.
-//! @SYMTestExpectedResults AP Queries successful.
-//! @SYMTestPriority High
-//! @SYMTestStatus Under development
-//! @SYMTestType UT
-
-// start simtsy
-RUN_TEST_STEP 100 te_esockteststepsSuite StartSimTSYStep  z:\testdata\configs\te_controlplanenetworkside_test29.ini SimTsy
-
-// create and open the first connection
-RUN_TEST_STEP 100 te_esockteststepsSuite creatersocketservStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CreateSockSvr1
-RUN_TEST_STEP 100 te_esockteststepsSuite connectrsocketservStep z:\testdata\configs\te_controlplanenetworkside_test29.ini ConnectSockSvr1
-RUN_TEST_STEP 100 te_esockteststepsSuite createrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CreateConn1
-RUN_TEST_STEP 100 te_esockteststepsSuite openrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini OpenConn1
-
-// Connect at *link* tier
-RUN_TEST_STEP 100 te_esockteststepsSuite CreateRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CreateConnectionServ1
-RUN_TEST_STEP 100 te_esockteststepsSuite ConnectRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test29.ini ConnectConnectionServ1
-
-// Make first *link* AP unavailable *AP2*
-RUN_TEST_STEP 100 te_esockteststepsSuite SetPacketDataAccessPointAvailabilityStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SetSimTsyAvailable
-
-RUN_TEST_STEP 100 te_esockteststepsSuite AccessPointStatusQueryStep z:\testdata\configs\te_controlplanenetworkside_test29.ini APQuery1
-
-// Make first *link* AP available *AP2*
-RUN_TEST_STEP 100 te_esockteststepsSuite SetPacketDataAccessPointAvailabilityStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SetSimTsyUnavailable
-
-RUN_TEST_STEP 100 te_esockteststepsSuite AccessPointStatusQueryStep z:\testdata\configs\te_controlplanenetworkside_test29.ini APQuery1a
-
-// Start connection on bearer and detect change at AP
-RUN_TEST_STEP 100 te_esockteststepsSuite startrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini StartConn1_1
-// This will tell us the number of started APs (1) and its id.
-RUN_TEST_STEP 100 te_esockteststepsSuite AccessPointStatusQueryStep z:\testdata\configs\te_controlplanenetworkside_test29.ini APQuery2
-
-// Clean up connections
-
-RUN_TEST_STEP 100 te_esockteststepsSuite stoprconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini StopConn1_1
-RUN_TEST_STEP 100 te_esockteststepsSuite SetPacketDataAccessPointAvailabilityStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SetSimTsyUnavailable
-
-RUN_TEST_STEP 100 te_esockteststepsSuite AccessPointStatusQueryStep z:\testdata\configs\te_controlplanenetworkside_test29.ini APQuery1a
-
-RUN_TEST_STEP 100 te_esockteststepsSuite closerconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CloseConn1
-
-// Close and cleanup resources
-RUN_TEST_STEP 100 te_esockteststepsSuite CloseRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CloseConnectionServ1
-RUN_TEST_STEP 100 te_esockteststepsSuite closersocketservStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CloseSockSvr1
-RUN_TEST_STEP 100 te_esockteststepsSuite cleanallStep
-
-// stop simtsy
-RUN_TEST_STEP 100 te_esockteststepsSuite StopSimTSYStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SimTsy
-
-// Shutdown
-RUN_SCRIPT Z:\TestData\Scripts\te_esock_test_stopallinterfaces.script
-RUN_SCRIPT Z:\TestData\scripts\te_esock_test_unloadesockForced.script
-
-END_TESTCASE			PDP-ControlPlane-0029
-
-
-
-
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp_controlplane.script	Wed Apr 14 17:11:46 2010 +0300
@@ -0,0 +1,43 @@
+//
+// Copyright (c) 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"
+// 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:
+//
+
+PRINT Run Control Plane Networkside Tests.
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+ced z:\TestData\Configs\te_controlplanenetworkside1.xml
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+RUN_UTILS  MkDir c:\simtsy\
+RUN_UTILS  MkDir c:\private\
+RUN_UTILS  MkDir c:\private\101F7989\
+RUN_UTILS  MkDir c:\private\101F7989\esock\
+RUN_UTILS  MakeReadWrite c:\simtsy\config.txt
+RUN_UTILS  MakeReadWrite c:\config.txt
+RUN_UTILS  MakeReadWrite c:\loopback.ini
+RUN_UTILS  DeleteFile c:\simtsy\config.txt
+RUN_UTILS  DeleteFile c:\config.txt
+RUN_UTILS  DeleteFile c:\loopback.ini
+RUN_UTILS  CopyFile z:\TestData\Configs\te_controlplanenetworkside_config.txt c:\simtsy\config.txt
+RUN_UTILS  CopyFile z:\TestData\Configs\te_controlplanenetworkside_config.txt c:\config.txt
+RUN_UTILS  CopyFile z:\TestData\Configs\te_controlplanenetworksideloopbackcsy.ini c:\loopback.ini 
+
+LOAD_SUITE te_esockteststepsSuite -SharedData
+
+RUN_SCRIPT Z:\TestData\Scripts\te_PDP_ControlPlane28.script
+RUN_SCRIPT Z:\TestData\Scripts\te_PDP_ControlPlane29.script
+
+PRINT Complete_te_controlplanenetworkside tests
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp_controlplane28.script	Wed Apr 14 17:11:46 2010 +0300
@@ -0,0 +1,86 @@
+//
+// Copyright (c) 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"
+// 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:
+//
+
+
+PRINT Running CASE28
+PRINT Validating notifications on the PDP tier
+
+//
+LOAD_SUITE te_esockteststepsSuite -SharedData
+RUN_SCRIPT z:\TestData\scripts\te_esock_test_loadesock.script
+
+START_TESTCASE			PDP-ControlPlane-0028
+//! @SYMTestCaseID		PDP-ControlPlane-0028
+//! @SYMTestCaseDesc  Validating notifications on the PDP tier
+//! @SYMPREQ 2624
+//! @SYMTestActions         Creating server connection to PDP tier, opening connections on SIM1/SIM2. 
+//! @SYMTestExpectedResults Validating that notifications are received when a connection is opened on SIM1/SIM2
+//! @SYMTestPriority High
+//! @SYMTestStatus Under development
+//! @SYMTestType UT
+
+// start simtsy
+RUN_TEST_STEP 100 te_esockteststepsSuite StartSimTSYStep  z:\testdata\configs\te_controlplanenetworkside_test28.ini SimTsy
+
+// create and open the first connection
+RUN_TEST_STEP 100 te_esockteststepsSuite creatersocketservStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CreateSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite connectrsocketservStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ConnectSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite createrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CreateConn1
+RUN_TEST_STEP 100 te_esockteststepsSuite openrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini OpenConn1
+
+// Connect at *link* tier
+RUN_TEST_STEP 100 te_esockteststepsSuite CreateRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CreateConnectionServA
+RUN_TEST_STEP 100 te_esockteststepsSuite ConnectRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ConnectConnectionServA
+RUN_TEST_STEP 100 te_esockteststepsSuite CreateRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CreateConnectionServS
+RUN_TEST_STEP 100 te_esockteststepsSuite ConnectRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ConnectConnectionServS
+
+// Request all changes to AP active status
+RUN_TEST_STEP 100 te_esockteststepsSuite RequestAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini APNotificationRequest1A
+RUN_TEST_STEP 100 te_esockteststepsSuite RequestAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini APNotificationRequest1S
+
+// Start connection on bearer and detect change at AP
+RUN_TEST_STEP 100 te_esockteststepsSuite startrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini StartConn1_1
+RUN_TEST_STEP 100 te_esockteststepsSuite ReceiveAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ReceiveNotification1A
+RUN_TEST_STEP 100 te_esockteststepsSuite ReceiveAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ReceiveNotification1S
+
+// Stop connection and detect change at AP
+RUN_TEST_STEP 100 te_esockteststepsSuite stoprconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini StopConn1_1
+RUN_TEST_STEP 100 te_esockteststepsSuite SetPacketDataAccessPointAvailabilityStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SetSimTsyUnavailable
+RUN_TEST_STEP 100 te_esockteststepsSuite ReceiveAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ReceiveNotification2A
+RUN_TEST_STEP 100 te_esockteststepsSuite ReceiveAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini ReceiveNotification2S
+
+
+// Cancel the notification request
+RUN_TEST_STEP 100 te_esockteststepsSuite CancelAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CancelAPNotifRequestA
+RUN_TEST_STEP 100 te_esockteststepsSuite CancelAccessPointNotificationStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CancelAPNotifRequestS
+
+// Clean up connections
+RUN_TEST_STEP 100 te_esockteststepsSuite closerconnectionStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CloseConn1
+
+// Close and cleanup resources
+RUN_TEST_STEP 100 te_esockteststepsSuite CloseRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CloseConnectionServA
+RUN_TEST_STEP 100 te_esockteststepsSuite CloseRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CloseConnectionServS
+RUN_TEST_STEP 100 te_esockteststepsSuite closersocketservStep z:\testdata\configs\te_controlplanenetworkside_test28.ini CloseSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite cleanallStep
+
+// stop simtsy
+RUN_TEST_STEP 100 te_esockteststepsSuite StopSimTSYStep z:\testdata\configs\te_controlplanenetworkside_test28.ini SimTsy
+
+// Shutdown
+RUN_SCRIPT Z:\TestData\Scripts\te_esock_test_stopallinterfaces.script
+RUN_SCRIPT Z:\TestData\scripts\te_esock_test_unloadesockForced.script
+
+END_TESTCASE			PDP-ControlPlane-0028
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/test/controlplane/scripts/te_pdp_controlplane29.script	Wed Apr 14 17:11:46 2010 +0300
@@ -0,0 +1,90 @@
+//
+// Copyright (c) 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"
+// 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:
+//
+
+
+PRINT Running CASE29
+PRINT Validating AP Queries on the PDP tier.
+
+//
+LOAD_SUITE te_esockteststepsSuite -SharedData
+RUN_SCRIPT z:\TestData\scripts\te_esock_test_loadesock.script
+
+START_TESTCASE			PDP-ControlPlane-0029
+//! @SYMTestCaseID		PDP-ControlPlane-0029
+//! @SYMTestCaseDesc  Validating AP Queries on the PDP tier.
+//! @SYMPREQ 2624
+//! @SYMTestActions         Creating server connection, opening connections on SIM1/SIM2 validating AP Query for PDP Tier.
+//! @SYMTestExpectedResults AP Queries successful.
+//! @SYMTestPriority High
+//! @SYMTestStatus Under development
+//! @SYMTestType UT
+
+// start simtsy
+RUN_TEST_STEP 100 te_esockteststepsSuite StartSimTSYStep  z:\testdata\configs\te_controlplanenetworkside_test29.ini SimTsy
+
+// create and open the first connection
+RUN_TEST_STEP 100 te_esockteststepsSuite creatersocketservStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CreateSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite connectrsocketservStep z:\testdata\configs\te_controlplanenetworkside_test29.ini ConnectSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite createrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CreateConn1
+RUN_TEST_STEP 100 te_esockteststepsSuite openrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini OpenConn1
+
+// Connect at *link* tier
+RUN_TEST_STEP 100 te_esockteststepsSuite CreateRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CreateConnectionServ1
+RUN_TEST_STEP 100 te_esockteststepsSuite ConnectRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test29.ini ConnectConnectionServ1
+
+// Make first *link* AP unavailable *AP2*
+RUN_TEST_STEP 100 te_esockteststepsSuite SetPacketDataAccessPointAvailabilityStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SetSimTsyAvailable
+
+RUN_TEST_STEP 100 te_esockteststepsSuite AccessPointStatusQueryStep z:\testdata\configs\te_controlplanenetworkside_test29.ini APQuery1
+
+// Make first *link* AP available *AP2*
+RUN_TEST_STEP 100 te_esockteststepsSuite SetPacketDataAccessPointAvailabilityStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SetSimTsyUnavailable
+
+RUN_TEST_STEP 100 te_esockteststepsSuite AccessPointStatusQueryStep z:\testdata\configs\te_controlplanenetworkside_test29.ini APQuery1a
+
+// Start connection on bearer and detect change at AP
+RUN_TEST_STEP 100 te_esockteststepsSuite startrconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini StartConn1_1
+// This will tell us the number of started APs (1) and its id.
+RUN_TEST_STEP 100 te_esockteststepsSuite AccessPointStatusQueryStep z:\testdata\configs\te_controlplanenetworkside_test29.ini APQuery2
+
+// Clean up connections
+
+RUN_TEST_STEP 100 te_esockteststepsSuite stoprconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini StopConn1_1
+RUN_TEST_STEP 100 te_esockteststepsSuite SetPacketDataAccessPointAvailabilityStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SetSimTsyUnavailable
+
+RUN_TEST_STEP 100 te_esockteststepsSuite AccessPointStatusQueryStep z:\testdata\configs\te_controlplanenetworkside_test29.ini APQuery1a
+
+RUN_TEST_STEP 100 te_esockteststepsSuite closerconnectionStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CloseConn1
+
+// Close and cleanup resources
+RUN_TEST_STEP 100 te_esockteststepsSuite CloseRConnectionServStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CloseConnectionServ1
+RUN_TEST_STEP 100 te_esockteststepsSuite closersocketservStep z:\testdata\configs\te_controlplanenetworkside_test29.ini CloseSockSvr1
+RUN_TEST_STEP 100 te_esockteststepsSuite cleanallStep
+
+// stop simtsy
+RUN_TEST_STEP 100 te_esockteststepsSuite StopSimTSYStep z:\testdata\configs\te_controlplanenetworkside_test29.ini SimTsy
+
+// Shutdown
+RUN_SCRIPT Z:\TestData\Scripts\te_esock_test_stopallinterfaces.script
+RUN_SCRIPT Z:\TestData\scripts\te_esock_test_unloadesockForced.script
+
+END_TESTCASE			PDP-ControlPlane-0029
+
+
+
+
+
+
--- a/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdpstresstestsparam.ini	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdpstresstestsparam.ini	Wed Apr 14 17:11:46 2010 +0300
@@ -1,2 +1,2 @@
 [Repeat]
-RepeatParam = 100
+RepeatParam = 50
--- a/telephonyprotocols/rawipnif/data/epocrawip.ini	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyprotocols/rawipnif/data/epocrawip.ini	Wed Apr 14 17:11:46 2010 +0300
@@ -12,4 +12,4 @@
 
 rawip_KMaxSendQueueLen 0x5
 rawip_KMaxTxIPPacketSize 0x5de
-rawip_KMaxRxIPPacketSize 0x7d2
+rawip_KMaxRxIPPacketSize 0x5de
--- a/telephonyprotocols/rawipnif/group/RawIpNif.iby	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyprotocols/rawipnif/group/RawIpNif.iby	Wed Apr 14 17:11:46 2010 +0300
@@ -50,7 +50,7 @@
 // patch data for CBcaController::BaseConstructL API
 patchdata rawip.dll@KMaxSendQueueLen 0x5
 patchdata rawip.dll@KMaxTxIPPacketSize 0x57a
-patchdata rawip.dll@KMaxRxIPPacketSize 0x7d2
+patchdata rawip.dll@KMaxRxIPPacketSize 0x57a
 #endif //_ZERO_COPY_NETWORKING
 
 #endif // __RAWIP_IBY__
--- a/telephonyprotocols/rawipnif/inc/BcaIoController.h	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyprotocols/rawipnif/inc/BcaIoController.h	Wed Apr 14 17:11:46 2010 +0300
@@ -57,8 +57,7 @@
 class CBcaIoController : public CBase
 	{
 public:
-	static CBcaIoController* NewL(MControllerObserver& aObserver, CBttLogger* aTheLogger);
-	void ConstructL();
+	static CBcaIoController* NewL(MControllerObserver& aObserver, CBttLogger* aTheLogger);	
 	~CBcaIoController();
 
 	void StartL();
@@ -93,12 +92,13 @@
     
 protected:
     CBttLogger* iTheLogger;
-    TInt iMaxTxPacketSize;
-    TInt iMaxRxPacketSize;
+    TUint iMaxTxPacketSize;
+    TUint iMaxRxPacketSize;
     
 private:
     
     CBcaIoController(MControllerObserver& aObserver, CBttLogger* aTheLogger);
+    void ConstructL();
     
     enum TSendState
         {
--- a/telephonyprotocols/rawipnif/inc/Constants.h	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyprotocols/rawipnif/inc/Constants.h	Wed Apr 14 17:11:46 2010 +0300
@@ -78,9 +78,9 @@
 _LIT8(KRefFile, "RawIP"); 
 
 // Max size of IP packet 
-const TInt KMaxIPPacket = 1500;
-const TInt KIPTagHeaderLength = 2;
-const TInt KMaxIPPacketAndHeader = KMaxIPPacket + KIPTagHeaderLength;
+const TUint KMaxIPPacket = 1500;
+const TUint KIPTagHeaderLength = 2;
+const TUint KMaxIPPacketAndHeader = KMaxIPPacket + KIPTagHeaderLength;
 
 const TInt KIPTagHeaderByte1 = 0x00;
 const TInt KIPTagHeaderByte2 = 0x21;
--- a/telephonyprotocols/rawipnif/inc/Receiver.h	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyprotocols/rawipnif/inc/Receiver.h	Wed Apr 14 17:11:46 2010 +0300
@@ -31,26 +31,23 @@
 
 class CReceiver : public CActive
 	{
-public:
-	CReceiver(CBcaIoController& aObserver, CBttLogger* aTheLogger, TInt aMaxPacketSise);	
-	static CReceiver* NewL(CBcaIoController& aObserver, CBttLogger* aTheLogger, TInt aMaxPacketSise);
-	void ConstructL();
+public:	
+	static CReceiver* NewL(CBcaIoController& aObserver, CBttLogger* aTheLogger, TUint aMaxPacketSize);
 	~CReceiver();
 
-public: // Inherited from CActive.
+	// Inherited from CActive.
 	virtual void RunL();
 	virtual void DoCancel();
-
-public:
 	void StartListening();
+	
+private:
+	CReceiver(CBcaIoController& aObserver, CBttLogger* aTheLogger, TUint aMaxPacketSize);
+	void ConstructL();
 
 private: // Unowned data.
 	CBcaIoController& iObserver;
 	CBttLogger* iTheLogger;
-	TInt iMaxPacketSise;
-	
-private:
-	
+	TUint iMaxPacketSize;
 	RBuf8 iData;
 	RMBufPacket iRMBufPacket;
 	};
--- a/telephonyprotocols/rawipnif/src/Receiver.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyprotocols/rawipnif/src/Receiver.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -23,7 +23,10 @@
 #include "Constants.h"
 #include <es_ini.h>
 
-CReceiver::CReceiver(CBcaIoController& aObserver, CBttLogger* aTheLogger, TInt aMaxPacketSise)
+const TUint KBufferIncreaseStep=500;
+const TUint K64k=65535;
+
+CReceiver::CReceiver(CBcaIoController& aObserver, CBttLogger* aTheLogger, TUint aMaxPacketSize)
 /**
  * Constructor. Performs standard active object initialisation.
  *
@@ -33,12 +36,12 @@
 	: CActive(EPriorityHigh), 
 	  iObserver(aObserver), 
 	  iTheLogger(aTheLogger),
-	  iMaxPacketSise(aMaxPacketSise)
+	  iMaxPacketSize(aMaxPacketSize)
 	{	
 	CActiveScheduler::Add(this);
 	}
 
-CReceiver* CReceiver::NewL(CBcaIoController& aObserver, CBttLogger* aTheLogger, TInt aMaxPacketSise)
+CReceiver* CReceiver::NewL(CBcaIoController& aObserver, CBttLogger* aTheLogger, TUint aMaxPacketSize)
 /**
  * Two-phase constructor. Creates a new CBcaIoController object, performs 
  * second-phase construction, then returns it.
@@ -48,7 +51,7 @@
  * @return A newly constructed CBcaIoController object
  */
 	{
-	CReceiver* self = new (ELeave) CReceiver(aObserver, aTheLogger, aMaxPacketSise);
+	CReceiver* self = new (ELeave) CReceiver(aObserver, aTheLogger, aMaxPacketSize);
 	CleanupStack::PushL(self);
 	self->ConstructL();
 	CleanupStack::Pop(self);
@@ -61,7 +64,7 @@
  */
 	{
 	_LOG_L1C1(_L8("CReceiver::ConstructL"));
-	iData.CreateL(iMaxPacketSise);
+	iData.CreateL(iMaxPacketSize);
 	}
 
 CReceiver::~CReceiver()
@@ -86,11 +89,27 @@
 		if (iStatus == KErrNoMemory)
 			{
 			_LOG_L2C1(
-				_L8("WARNING! CReceiver: Read failed with KErrNoMemory"));
-			// Read operation failed!! Nif will re-issue the read request.
-		    (iObserver.Bca())->Read(iStatus, iData);
-
-		    SetActive();
+				_L8("WARNING! CReceiver: Read failed with KErrNoMemory. Increase buffer."));
+			// Read operation failed!! Nif will re-issue the read request. Increase buffer.			
+			if ((iMaxPacketSize + KBufferIncreaseStep) > K64k)
+			    {
+			    // In theory IP packet can't be bigger than 64k, so if we come here something is wrong so stop observer. 
+                iObserver.Stop(KErrNoMemory);
+			    }
+			else
+			    {
+                iMaxPacketSize += KBufferIncreaseStep;
+                TInt err = iData.ReAlloc(iMaxPacketSize);
+                if (KErrNoMemory == err)
+                    {                
+                    iObserver.Stop(KErrNoMemory);
+                    }
+                else
+                    {
+                    (iObserver.Bca())->Read(iStatus, iData);    
+                    SetActive();
+                    }
+			    }
 			}
 		else 
 			{
--- a/telephonyserver/etelserverandcore/TETEL/TE_ETEL/TE_Etelflowcontrol.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserver/etelserverandcore/TETEL/TE_ETEL/TE_Etelflowcontrol.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -348,8 +348,7 @@
     TESTCHECK(ret, KErrNone);
     ret = server.ShareAuto();
     TESTCHECK(ret, KErrNone);
-    _LIT(KPhoneModuleName, "PhoneTsy");
-   	ret=server.LoadPhoneModule(KPhoneModuleName);
+   	ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
     TESTCHECK(ret, KErrNone);
     
     TInt phoneIndx = 0;
@@ -372,7 +371,7 @@
     TESTCHECK(ret, KErrNone);
     ret = server2.ShareAuto();
     TESTCHECK(ret, KErrNone);
-    ret=server2.LoadPhoneModule(KPhoneModuleName);
+    ret=server2.LoadPhoneModule(DSTD_MODULE_NAME);
     TESTCHECK(ret, KErrNone);
     
 	RPhone phone2;
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmgsmwcdma/cmmcallgsmwcdmaext.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmgsmwcdma/cmmcallgsmwcdmaext.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -238,6 +238,24 @@
     TInt aExtensionId )
     {
 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::DialL extensionid %d", aExtensionId );
+
+    // Reset iCallParams extended members 
+    iCallParams.iAlphaId.Zero();
+    iCallParams.iIconId.iQualifier = RMobileCall::EIconQualifierNotSet;
+    iCallParams.iIconId.iIdentifier = 0x00;
+    iCallParams.iBCRepeatIndicator = RMobileCall::EBCAlternateMode;
+    iCallParams.iBearerCap2.Zero();
+    iCallParams.iBearerCap1.Zero();
+    iCallParams.iSubAddress.Zero();
+    iCallParams.iCallParamOrigin = RMobileCall::EOriginatorUnknown;
+    iCallParams.iBearerMode = RMobileCall::EMulticallNotSupported;
+    iCallParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    iCallParams.iCug.iExplicitInvoke = EFalse;
+    iCallParams.iCug.iCugIndex = 0xFFFF;
+    iCallParams.iCug.iSuppressPrefCug = EFalse;
+    iCallParams.iCug.iSuppressOA = EFalse;
+    iCallParams.iAutoRedial = EFalse;
+    
     //use base class to determine callparam version
     RCall::TCallParamsPckg* callParamsPckg = 
         reinterpret_cast<RCall::TCallParamsPckg*>(const_cast<TDesC8*>( aCallParams ) ); 
@@ -315,6 +333,10 @@
     iMobileCallInfo.iValid |= RMobileCall::KCallAlternating;
     iMobileCallInfo.iAlternatingCall = 
         RMobilePhone::EAlternatingModeUnspecified;
+    
+    // Reset old info
+    iMobileCallInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown;
+    
     //Create package
     CCallDataPackage package;
     //Set call id and call mode
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -660,20 +660,13 @@
         // Reset initialization value
         iStoreInfoData->iIsPhonebookInitialized = ETrue;
         iStoreInfoData->iIsPhonebookInitializeFailed = EFalse;
-        // Set initialization flag for all phonebooks
-        for( TInt i = 0; i < iMmPhoneTsy->PBList()->GetNumberOfObjects(); i++ )
-            {
-            //Get pbStore object
-            CMmPhoneBookStoreTsy* pbStore = iMmPhoneTsy->PBList()->GetMmPBByIndex( i );
-            pbStore->iIsPBInitCompleted = ETrue;
-            pbStore->iInitError = aResult;
-            // Set max name & number length for the current phonebook
-            pbStore->SetMaxNameAndNumLenght();
-            // Just in case here, if cache request has been come
-            // before initialization is finished.
-            pbStore->CacheEntriesL();
-            }
-        }
+        iIsPBInitCompleted = ETrue;
+        iInitError = aResult;
+        SetMaxNameAndNumLenght();
+        // Just in case here, if cache request has been come
+        // before initialization is finished.
+        CacheEntriesL();       
+       }
     else
     //Initialisation has failed
         {
@@ -699,32 +692,34 @@
             iStoreInfoData->iIsPhonebookInitializeFailed = ETrue;
             }
         }
-		if( iStoreInfoData->iIsPhonebookInitialized )
+    
+    
+	if( iStoreInfoData->iIsPhonebookInitialized )
+		{
+		TTsyReqHandle getInfoHandle =
+			iTsyReqHandleStore->ResetTsyReqHandle( EMultimodePhoneStoreGetInfo );
+		if ( EMultimodePhoneBookStoreReqHandleUnknown != getInfoHandle )
 			{
-		    TTsyReqHandle getInfoHandle =
-				iTsyReqHandleStore->ResetTsyReqHandle( EMultimodePhoneStoreGetInfo );
-			if ( EMultimodePhoneBookStoreReqHandleUnknown != getInfoHandle )
+			iReqHandleType = EMultimodePhoneBookStoreReqHandleUnknown;
+			RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg info(*iPhoneBookInfoChanged);
+			TInt result = GetInfoL(getInfoHandle, &info);
+			if ( KErrNone != result )
 				{
-				iReqHandleType = EMultimodePhoneBookStoreReqHandleUnknown;
-				RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg info(*iPhoneBookInfoChanged);
-				TInt result = GetInfoL(getInfoHandle, &info);
-				if ( KErrNone != result )
-					{
-					ReqCompleted( getInfoHandle, result );
-					}
-					// Save request handle
-				if ( EMultimodePhoneBookStoreReqHandleUnknown != iReqHandleType )
-					{
+				ReqCompleted( getInfoHandle, result );
+				}
+				// Save request handle
+			if ( EMultimodePhoneBookStoreReqHandleUnknown != iReqHandleType )
+				{
 #ifdef REQHANDLE_TIMER
-					SetTypeOfResponse( iReqHandleType, getInfoHandle );
+				SetTypeOfResponse( iReqHandleType, getInfoHandle );
 #else
-					iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, getInfoHandle );
+				iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, getInfoHandle );
 #endif
-					}
-				
 				}
+			
 			}
-		iMmPhoneTsy->PhoneBookStoreInitCompleteL(iInitError);
+		}
+	iMmPhoneTsy->PhoneBookStoreInitCompleteL(iInitError);
 
     }
 
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/CMmMessageRouterProxy.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/CMmMessageRouterProxy.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -772,7 +772,10 @@
                     CompletePBStoreInitializationL( 
                     aResult, aDataPackage );
                     TBool done = EFalse;
-                    
+
+                    // NOTE: The statement above is redundant, as the loop below calls CompletePBStoreInitializationL
+                    // on every phonebook store. However, we need to be certain that changing the order in which
+                    // phonebook stores are initialised won't introduce side effects. (One future improvement)                    
                     for( TInt i = 0; i < iMmPhone->PBList()->GetNumberOfObjects(); i++ )
         	            {
 TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion:EMmTsyPhoneBookStoreInitIPC for loop, check init statuses ");
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmdatacalltsy.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmdatacalltsy.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -660,6 +660,7 @@
 
                 SetUnowned();
                 ClearCallStatus();
+				RecoverDataPort(0);
                 statusChanged = ETrue;
 
                 if ( KErrNone != aResult )
@@ -2448,7 +2449,10 @@
         ret = KErrEtelPortNotLoanedToClient;
         }
 
-    ReqCompleted( aTsyReqHandle, ret );
+    if(0 != aTsyReqHandle)
+        {
+        ReqCompleted( aTsyReqHandle, ret );
+        }
 
     return KErrNone;
     }
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmutility/cmmtsyreqhandlestore.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmutility/cmmtsyreqhandlestore.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -209,7 +209,7 @@
     
         }
     }
-
+TFLOGSTRING3("TSY:CMmTsyReqHandleStore::ResetTsyReqHandle aIndex=%d, ret=%d", aIndex, ret);
     return ret;
 }
 
--- a/telephonyserverplugins/common_tsy/test/component/inc/cctsycallcontrolfu.h	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/inc/cctsycallcontrolfu.h	Wed Apr 14 17:11:46 2010 +0300
@@ -46,7 +46,8 @@
 	void TestAnswerIncomingCall00010L();
 	void TestAnswerIncomingCall00011L();
 	void TestDial0001L();
-	void TestDial0001bL();
+    void TestDial0001bL();
+    void TestDial0001cL();
 	void TestDial0002L();
 	void TestDial0003L();
 	void TestDial0004L();
--- a/telephonyserverplugins/common_tsy/test/component/inc/cctsycallownershipfu.h	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/inc/cctsycallownershipfu.h	Wed Apr 14 17:11:46 2010 +0300
@@ -42,6 +42,7 @@
 	void TestLoanDataPort00011L();
 	void TestRecoverDataPort0001L();
 	void TestRecoverDataPort0006L();
+    void TestRecoverDataPort0007L();
 	void TestRecoverDataPort00011L();
 	void TestAcquireOwnership0001L();
 	void TestAcquireOwnership0006L();
--- a/telephonyserverplugins/common_tsy/test/component/inc/cctsyphonebookstorefu.h	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/inc/cctsyphonebookstorefu.h	Wed Apr 14 17:11:46 2010 +0300
@@ -152,6 +152,7 @@
 	//void TestGetInfo00010L();
     void TestGetInfo00011L();
     void TestGetInfo00011bL();
+    void TestGetInfo00011cL();
 	void TestGetInfo00012L();
 	void TestGetInfo00013L();
 	void TestGetInfo00014L();
@@ -264,6 +265,7 @@
 
 	void AuxGetInfo1L(const TDesC& aName);
 	void AuxGetInfo1bL(const TDesC& aName);
+	void AuxGetInfo1cL();
 	void AuxGetInfo2L(const TDesC& aName);
 	void AuxGetInfo3L(const TDesC& aName);
 	void AuxGetInfo4L(const TDesC& aName);
--- a/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callcontrol_individual.script	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callcontrol_individual.script	Wed Apr 14 17:11:46 2010 +0300
@@ -126,6 +126,17 @@
 RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestDial0001bL
 END_TESTCASE BA-CTSY-CCON-CD-0001b
 
+START_TESTCASE BA-CTSY-CCON-CD-0001c
+//!@SYMTestCaseID BA-CTSY-CCON-CD-0001c
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls with changing parameters
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RCall::Dial for voice calls
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestDial0001cL
+END_TESTCASE BA-CTSY-CCON-CD-0001c
+
 START_TESTCASE BA-CTSY-CCON-CD-0002
 //!@SYMTestCaseID BA-CTSY-CCON-CD-0002
 //!@SYMComponent telephony_ctsy
--- a/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callownership_individual.script	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callownership_individual.script	Wed Apr 14 17:11:46 2010 +0300
@@ -60,6 +60,17 @@
 RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallOwnershipFU.TestRecoverDataPort0001L
 END_TESTCASE BA-CTSY-COWN-CRDP-0001
 
+START_TESTCASE BA-CTSY-COWN-CRDP-0007
+//!@SYMTestCaseID BA-CTSY-COWN-CRDP-0007
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for RCall::RecoverDataPort for data call when the call become idle
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RCall::RecoverDataPort for data calls
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallOwnershipFU.TestRecoverDataPort0007L
+END_TESTCASE BA-CTSY-COWN-CRDP-0007
+
 START_TESTCASE BA-CTSY-COWN-CAO-0001
 //!@SYMTestCaseID BA-CTSY-COWN-CAO-0001
 //!@SYMComponent telephony_ctsy
--- a/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_phonebookstore_individual.script	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_phonebookstore_individual.script	Wed Apr 14 17:11:46 2010 +0300
@@ -1258,6 +1258,17 @@
 RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyPhoneBookStoreFU.TestGetInfo00011bL
 END_TESTCASE BA-CTSY-PBSTR-PBSGI-00011b
 
+START_TESTCASE BA-CTSY-PBSTR-PBSGI-00011c
+//!@SYMTestCaseID BA-CTSY-PBSTR-PBSGI-00011c
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for RMobilePhoneBookStore::GetInfo for SDN phonebook when multiple phonebooks are opened simultaneously
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RMobilePhoneBookStore::GetInfo for SDN phonebook
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyPhoneBookStoreFU.TestGetInfo00011cL
+END_TESTCASE BA-CTSY-PBSTR-PBSGI-00011c
+
 START_TESTCASE BA-CTSY-PBSTR-PBSGI-00012
 //!@SYMTestCaseID BA-CTSY-PBSTR-PBSGI-00012
 //!@SYMComponent telephony_ctsy
--- a/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_telephonyaudiocontrol_individual.script	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_telephonyaudiocontrol_individual.script	Wed Apr 14 17:11:46 2010 +0300
@@ -57,7 +57,7 @@
 //!@SYMTestActions Invokes MTelephonyAudioControl::TeardownTelephonyAudio
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyTelephonyAudioControlFU.TestTeardownTelephonyAudio0001aL
+RUN_TEST_STEP 200 te_ctsy_component TEFUnit.CCTsyTelephonyAudioControlFU.TestTeardownTelephonyAudio0001aL
 END_TESTCASE BA-CTSY-CRC-CRCTCR-0001a
 
 START_TESTCASE BA-CTSY-CRC-CRCTCR-0001b
@@ -90,7 +90,7 @@
 //!@SYMTestActions Invokes MTelephonyAudioControl::CallStateChange
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyTelephonyAudioControlFU.TestCallStateChange0001aL
+RUN_TEST_STEP 200 te_ctsy_component TEFUnit.CCTsyTelephonyAudioControlFU.TestCallStateChange0001aL
 END_TESTCASE BA-CTSY-CRC-CRCCRST-0001a
 
 START_TESTCASE BA-CTSY-CRC-CRCCRST-0001b
@@ -101,7 +101,7 @@
 //!@SYMTestActions Invokes MTelephonyAudioControl::CallStateChange
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyTelephonyAudioControlFU.TestCallStateChange0001bL
+RUN_TEST_STEP 200 te_ctsy_component TEFUnit.CCTsyTelephonyAudioControlFU.TestCallStateChange0001bL
 END_TESTCASE BA-CTSY-CRC-CRCCRST-0001b
 
 START_TESTCASE BA-CTSY-CRC-CRCCRST-0004
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -16,7 +16,7 @@
 //
 
 /**
- @file 
+ @file      
 */
 
 #include "cctsycallcontrolfu.h"
@@ -45,7 +45,8 @@
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00010L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00011L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001bL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001bL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001cL);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0002L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0003L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0004L);
@@ -1852,7 +1853,7 @@
     _LIT(KSomeNumber, "123456789");   
 
     RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
-    TInt expecteCallId = 0;
+    TInt expectedCallId = 0;
 
     RMobileCall::TMobileCallParamsV7 callParams; 
     RMobileCall::TMobileCallParamsV7Pckg    pckgCallParams(callParams);
@@ -1883,7 +1884,7 @@
     callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
 
     TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
-    mockCallData(expecteCallId, mobileService, callParams, callInfo);
+    mockCallData(expectedCallId, mobileService, callParams, callInfo);
     mockCallData.SerialiseL(expectData);
     
     iMockLTSY.ExpectL(EEtelCallDial, expectData);
@@ -1921,6 +1922,180 @@
 
 
 /**
+@SYMTestCaseID BA-CTSY-CCON-CD-0001c
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls with changing parameters
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0001cL()
+    {
+    
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+    TInt errorCode = KErrNone;    
+
+    //-- For Voice1 -------------------------
+
+    TBuf<256> lineName(KMmTsyVoice1LineName);    
+    // Open new line
+    RLine line;
+    errorCode = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(line);      
+    // open call
+    _LIT(KDoubleColon, "::");    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+
+    RMobileCall call;
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call);   
+
+    TRequestStatus requestStatus;    
+    _LIT(KSomeNumber, "123456789");   
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
+    TInt expectedCallId = 0;
+    RMobileCall::TMobileCallInfoV8 callInfo;
+    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+    callInfo.iService   = mobileService;
+    callInfo.iStatus    = RMobileCall::EStatusUnknown;
+    callInfo.iCallId    =-1;
+    callInfo.iExitCode  =0; 
+    callInfo.iEmergency =0;
+    callInfo.iForwarded =0; 
+    callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
+    callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
+    callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
+    callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
+    
+    // A. Call with V7 params.
+    // Fill the params with random values
+    RMobileCall::TMobileCallParamsV7 callParams;
+    RMobileCall::TMobileCallParamsV7Pckg    pckgCallParams(callParams);
+    callParams.iAlphaId.Copy(_L("Alpha Id"));
+    callParams.iIconId.iQualifier = RMobileCall::ESelfExplanatory;
+    callParams.iIconId.iIdentifier = 0x0A;
+    callParams.iBCRepeatIndicator = RMobileCall::EBCServiceChangeAndFallbackMode;
+    callParams.iBearerCap2.Copy(_L("Cap2"));
+    callParams.iBearerCap1.Copy(_L("Cap1"));
+    callParams.iSubAddress.Copy(_L("SubAddress"));
+    callParams.iCallParamOrigin = RMobileCall::EOriginatorEtelClient;
+    callParams.iBearerMode = RMobileCall::EMulticallShareBearer;
+    callParams.iIdRestrict = RMobileCall::EDontSendMyId;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iCugIndex = 0xAABB;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = ETrue;
+    callParams.iAutoRedial = ETrue;
+    callParams.iSpeakerControl = RCall::EMonitorSpeakerControlOnUntilCarrier; 
+    callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeLow;
+    callParams.iInterval = 0;
+    callParams.iWaitForDialTone = RCall::EDialToneWait;
+    
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 >
+    mockCallData(expectedCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    TInt callId = 1;
+    
+    completeData.Close();
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo);
+    callInfoData.SerialiseL(completeData);
+    //Complete Mobile Call Info in order to set the call ID 
+    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
+    
+    TMockLtsyCallData0 mockDataComplete(callId, mobileService);
+    completeData.Close();
+    mockDataComplete.SerialiseL(completeData);
+    // Complete the Dial
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+    call.Dial(requestStatus, pckgCallParams, KSomeNumber);   
+        
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+    
+    // B. Call with V0 params. 
+    // The CTSY should send the default V7 values to the LTSY, and not the previous call parameters which are irrelevant.  
+    // Fill the params with other random values.
+    callParams.iAlphaId.Zero();
+    callParams.iIconId.iQualifier = RMobileCall::EIconQualifierNotSet;
+    callParams.iIconId.iIdentifier = 0x00;
+    callParams.iBCRepeatIndicator = RMobileCall::EBCAlternateMode;
+    callParams.iBearerCap2.Zero();
+    callParams.iBearerCap1.Zero();
+    callParams.iSubAddress.Zero();
+    callParams.iCallParamOrigin = RMobileCall::EOriginatorUnknown;
+    callParams.iBearerMode = RMobileCall::EMulticallNotSupported;
+    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = EFalse;
+    callParams.iAutoRedial = EFalse;
+    callParams.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOn; 
+    callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
+    callParams.iInterval = 12;
+    callParams.iWaitForDialTone = RCall::EDialToneNoWait;
+    
+
+    RMobileCall::TCallParams callParams0;
+    callParams0.iSpeakerControl = callParams.iSpeakerControl; 
+    callParams0.iSpeakerVolume = callParams.iSpeakerVolume;
+    callParams0.iInterval = callParams.iInterval;
+    callParams0.iWaitForDialTone = callParams.iWaitForDialTone; 
+    RCall::TCallParamsPckg   pckgCallParams0(callParams0);
+
+    expectData.Close();
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 >
+        mockCallData2(1, mobileService, callParams, callInfo);
+    mockCallData2.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    
+    completeData.Close();
+    callInfoData.SerialiseL(completeData);
+    //Complete Mobile Call Info in order to set the call ID 
+    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
+    
+    completeData.Close();
+    mockDataComplete.SerialiseL(completeData);
+    // Complete the Dial
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+    call.Dial(requestStatus, pckgCallParams0, KSomeNumber);   
+        
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+    
+    CleanupStack::PopAndDestroy(5,this);
+    
+    }
+
+
+/**
 @SYMTestCaseID BA-CTSY-CCON-CD-0002
 @SYMComponent  telephony_ctsy
 @SYMTestCaseDesc Test support in CTSY for cancelling of RCall::Dial for voice calls
@@ -3967,7 +4142,7 @@
     _LIT(KSomeNumber, "123456789");   
 
     RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;    
-    TInt expecteCallId = 0;
+    TInt expectedCallId = 0;
 
     RMobileCall::TMobileDataCallParamsV8 callParams; 
     RMobileCall::TMobileDataCallParamsV8Pckg    pckgCallParams(callParams);
@@ -3998,7 +4173,7 @@
     callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
 
     TMockLtsyCallData2< RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8 >
-    mockCallData(expecteCallId, mobileService, callParams, callInfo);
+    mockCallData(expectedCallId, mobileService, callParams, callInfo);
     mockCallData.SerialiseL(expectData);
     
     iMockLTSY.ExpectL(EEtelCallDial, expectData);
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsycallinformationfu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsycallinformationfu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -279,7 +279,7 @@
     
    	RMobileCall::TMobileCallInfoV8 callInfo;
 	callInfo.iDialledParty.iTelNumber.Copy(KNum);
-	callInfo.iRemoteParty.iDirection = RMobileCall::EMobileTerminated;
+	callInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown;
 	callInfo.iService = mobileService;
 	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
 	callInfo.iAlternatingCall = RMobilePhone::EAlternatingModeUnspecified;
@@ -1156,7 +1156,7 @@
    
   	RMobileCall::TMobileCallInfoV8 callInfo;
   	callInfo.iDialledParty.iTelNumber.Copy(KNum);
-  	callInfo.iRemoteParty.iDirection = RMobileCall::EMobileTerminated;
+  	callInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown;
   	callInfo.iService = mobileService;
   	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
   	callInfo.iAlternatingCall = RMobilePhone::EAlternatingModeUnspecified;
@@ -2335,7 +2335,7 @@
 	RMobileCall::TMobileCallInfoV8 callInfo;
 	
 	callInfo.iDialledParty.iTelNumber.Copy(KNum);
-	callInfo.iRemoteParty.iDirection = RMobileCall::EMobileTerminated;
+	callInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown;
 	callInfo.iService = mobileService;
 	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
 	
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsycallownershipfu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsycallownershipfu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -38,6 +38,7 @@
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestLoanDataPort00011L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort0001L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort0006L);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort0007L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestRecoverDataPort00011L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0001L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallOwnershipFU, TestAcquireOwnership0006L);
@@ -721,12 +722,16 @@
 	CleanupClosePushL(call2);
 
 	// test
-	err = call.RecoverDataPort();
+	err = call2.RecoverDataPort();
 	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 330203);
 	// Request passes to MockLTSY as though the client owns the call.
 	// So MockLtsy returns KErrCorrupt because there is no expected IPC.
 	ASSERT_EQUALS(KErrEtelNotCallOwner, err)
 	AssertMockLtsyStatusL();
+	
+    iMockLTSY.ExpectL(EEtelCallRecoverDataPort, data);
+	err = call.RecoverDataPort();
+    ASSERT_EQUALS(KErrNone, err)
 
 	CleanupStack::PopAndDestroy(8, this); // call2, line2, phone2, telServer2, call, line, data, this
 	
@@ -734,6 +739,103 @@
 
 
 /**
+@SYMTestCaseID BA-CTSY-COWN-CRDP-0007
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::RecoverDataPort for data call when the call become idle
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::RecoverDataPort for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallOwnershipFU::TestRecoverDataPort0007L()
+    {
+
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 data;
+    CleanupClosePushL(data);
+    
+    RCall call;
+    RLine line;
+
+    TInt err = line.Open(iPhone, KMmTsyDataLineName);
+    ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+    
+    TName callName;
+    err = OpenNewCall(line, call, KMmTsyDataLineName, callName);
+    ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(call);
+
+    const TInt KCallId( 1 );
+    const RMobilePhone::TMobileService KMobileService( RMobilePhone::ECircuitDataService );
+    DialL(call, KCallId, KMobileService);
+
+    TRequestStatus mockLtsyStatus;
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusConnected; 
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData2(KCallId, 
+                                                    mobileService, mobileCallStatus);
+    data.Close();
+    mockData2.SerialiseL(data);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, data);
+    User::WaitForRequest(mockLtsyStatus);
+    
+    RCall::TCommPort dataPort;
+    dataPort.iCsy.Copy(_L("qwerty"));
+    dataPort.iPort.Copy(_L("asdfgh"));
+    TMockLtsyCallData1<RCall::TCommPort> expData(KCallId, KMobileService, dataPort);
+    expData.SerialiseL(data);
+    iMockLTSY.ExpectL(EEtelCallLoanDataPort, data);
+    err = call.LoanDataPort(dataPort);
+    ASSERT_EQUALS(KErrNone, err)
+    AssertMockLtsyStatusL();
+
+    //-------------------------------------------------------------------------
+    // Make the call idle
+    //-------------------------------------------------------------------------
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    
+
+    TInt hangUpCause = KErrGsmReleaseByUser;
+    TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData1(KCallId, mobileService, hangUpCause, 
+                                             autoStChangeDisable);
+    data.Close();
+    mockData1.SerialiseL(data);                                               
+    iMockLTSY.ExpectL(EEtelCallHangUp, data, KErrNone);                                              
+    
+    TRequestStatus reqStatus;
+    call.HangUp(reqStatus);
+        
+    mobileCallStatus = RMobileCall::EStatusIdle; 
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData3(KCallId, 
+                                                    mobileService, mobileCallStatus);
+    data.Close();
+    mockData3.SerialiseL(data);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, data);   
+
+    data.Close();
+    expData.SerialiseL(data);
+	
+	// Expect to RecoverDataPort from CTSY
+    iMockLTSY.ExpectL(EEtelCallRecoverDataPort, data);
+        
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());   
+    User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+    AssertMockLtsyStatusL();
+    CleanupStack::PopAndDestroy(4, this); // call, line, data, this
+    
+    }
+
+
+/**
 @SYMTestCaseID BA-CTSY-COWN-CRDP-00011
 @SYMComponent  telephony_ctsy
 @SYMTestCaseDesc Test support in CTSY for RCall::RecoverDataPort for fax calls
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsyfixeddiallingfu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsyfixeddiallingfu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -202,7 +202,7 @@
 	//-------------------------------------------------------------------------      
     
  	// data for ExpectL 		
- 	callInfo.iRemoteParty.iDirection = RMobileCall::EMobileTerminated; 	
+ 	callInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown; 	
  	
  	TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
     											 mockCallData2(callId, mobileService, callParams, callInfo);
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsyphonebookstorefu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsyphonebookstorefu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -156,6 +156,7 @@
 	//ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00010L);
     ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00011L);   //sdn
     ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00011bL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00011cL);
 	ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00012L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00013L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00014L);
@@ -2331,6 +2332,19 @@
     AuxGetInfo1bL(KETelIccSdnPhoneBook);     
     }
 
+/**
+@SYMTestCaseID BA-CTSY-PBSTR-PBSGI-00011c
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhoneBookStore::GetInfo for SDN phonebook when multiple phonebooks are opened simultaneously
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhoneBookStore::GetInfo for SDN phonebook
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyPhoneBookStoreFU::TestGetInfo00011cL()
+    {
+    AuxGetInfo1cL();
+    }
 
 /**
 @SYMTestCaseID BA-CTSY-PBSTR-PBSGI-00012
@@ -5842,6 +5856,154 @@
 	CleanupStack::PopAndDestroy(4, this); // data, data2, this...	
     }
 
+void CCTsyPhoneBookStoreFU::AuxGetInfo1cL()
+    {
+	//
+	// Open three phonebooks: ADN, FDN, SDN. Check that SDN phonebook is initialised correctly.
+	//
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhone2L();
+
+	RBuf8 dataS7;
+	CleanupClosePushL(dataS7);
+	RBuf8 dataS8;
+	CleanupClosePushL(dataS8);
+	RBuf8 dataS9;
+	CleanupClosePushL(dataS9);	
+	
+	RBuf8 data2;
+	CleanupClosePushL(data2);
+
+	TName nameS7(KETelIccAdnPhoneBook);
+	RMobilePhoneBookStore bookStoreS7;
+	CleanupClosePushL(bookStoreS7);
+
+	TName nameS8(KETelIccFdnPhoneBook);
+	RMobilePhoneBookStore bookStoreS8;
+	CleanupClosePushL(bookStoreS8);
+
+	TName nameS9(KETelIccSdnPhoneBook);
+	RMobilePhoneBookStore bookStoreS9;
+	CleanupClosePushL(bookStoreS9);
+	
+	/*
+	Test scenario:
+		We open three bookstores: S7, S8, S9 (in that order).
+		We then call GetInfo on S9.
+	
+	LTSY must receive (>>) and complete (<<) the following requests in the following sequence:
+	>> EMmTsyPhoneBookStoreInitIPC (S7)
+	<< EMmTsyPhoneBookStoreInitIPC (S7)
+	>> EMmTsyPhoneBookStoreCacheIPC (S7)
+	>> EMmTsyPhoneBookStoreCacheIPC (S8)
+	>> EMmTsyPhoneBookStoreGetInfoIPC (S9)
+	<< EMmTsyPhoneBookStoreCacheIPC (S7)
+	<< EMmTsyPhoneBookStoreCacheIPC (S8)
+	<< EMmTsyPhoneBookStoreGetInfoIPC (S9) 	
+	*/
+	
+	TMockLtsyPhoneBookData0 storeInitData(nameS7);
+    storeInitData.SerialiseL(dataS7);
+    iMockLTSY.ExpectL(EMmTsyPhoneBookStoreInitIPC, dataS7);	
+
+    // Open all phonebook store sessions. This will cause an Init request being sent down to LTSY,
+    // followed by Cache requests for S7 and S8 when initialisation completes.
+  	TInt ret = bookStoreS7.Open(iPhone, nameS7);
+  	ret = bookStoreS8.Open(iPhone, nameS8);
+	ret = bookStoreS9.Open(iPhone, nameS9);	
+	 
+	ASSERT_EQUALS(KErrNone, ret);	
+	
+	TRequestStatus requestStatus;
+   	TRequestStatus mockLtsyStatus;
+	RMobilePhoneBookStore::TMobilePhoneBookInfoV1 bookInfo;
+	RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg bookPckg(bookInfo);
+	bookStoreS9.GetInfo(requestStatus, bookPckg); 	
+	
+	ASSERT_EQUALS(KRequestPending, requestStatus.Int());
+	// check that CTSY waits for initialisation to complete 
+	// before completing the GetInfo client request
+	User::After(KOneSecond);
+	ASSERT_EQUALS(KRequestPending, requestStatus.Int());	
+	
+	// prepare initialisation completion data
+    CStorageInfoData storageData;
+	SetStorageInfoData(storageData);
+	TMockLtsyPhoneBookData1< CStorageInfoData > retStoreInitC(nameS7, storageData);
+    retStoreInitC.SerialiseL(data2);
+
+    // complete the Init request. This will trigger cache requests 
+    // for S7 and S8 from CTSY to LTSY.
+    iMockLTSY.CompleteL(EMmTsyPhoneBookStoreInitIPC, KErrNone, data2, 0);
+
+	dataS7.Close();
+	TMockLtsyPhoneBookData0 tsyDataS7(nameS7);           
+	tsyDataS7.SerialiseL(dataS7);        
+	iMockLTSY.ExpectL(EMmTsyPhoneBookStoreCacheIPC, dataS7);
+	
+	dataS8.Close();
+	TMockLtsyPhoneBookData0 tsyDataS8(nameS8);           
+	tsyDataS8.SerialiseL(dataS8);
+	iMockLTSY.ExpectL(EMmTsyPhoneBookStoreCacheIPC, dataS8);
+	
+    // GetInfo request should still be pending
+    ASSERT_EQUALS(KRequestPending, requestStatus.Int());
+
+    // Prepare the cache responses, and tell MockLTSY to complete them
+	CArrayPtrSeg<CPhoneBookStoreEntry>* cacheS7 = new(ELeave) CArrayPtrSeg<CPhoneBookStoreEntry>( 1 );
+	CleanupStack::PushL(cacheS7);
+
+	TMockLtsyPhoneBookData1<CArrayPtrSeg<CPhoneBookStoreEntry>*> storeCacheDataS7(nameS7, cacheS7);
+	data2.Close();
+	storeCacheDataS7.SerialiseL(data2);   
+
+	iMockLTSY.CompleteL(EMmTsyPhoneBookStoreCacheIPC, KErrNone, data2, 0);
+	CleanupStack::PopAndDestroy(cacheS7);
+	
+	CArrayPtrSeg<CPhoneBookStoreEntry>* cacheS8 = new(ELeave) CArrayPtrSeg<CPhoneBookStoreEntry>( 1 );
+	CleanupStack::PushL(cacheS8);
+
+	TMockLtsyPhoneBookData1<CArrayPtrSeg<CPhoneBookStoreEntry>*> storeCacheDataS8(nameS8, cacheS8);
+	data2.Close();
+	storeCacheDataS8.SerialiseL(data2);   
+			  
+	iMockLTSY.CompleteL(EMmTsyPhoneBookStoreCacheIPC, KErrNone, data2, 0);
+	CleanupStack::PopAndDestroy(cacheS8);
+	
+	dataS9.Close();
+	TMockLtsyPhoneBookData0 tsyDataS9(nameS9);           
+	tsyDataS9.SerialiseL(dataS9);
+	
+	// Next to come from CTSY to LTSY will be the GetInfo request for S9
+	iMockLTSY.ExpectL(EMmTsyPhoneBookStoreGetInfoIPC, dataS9);
+	ASSERT_EQUALS(KRequestPending, requestStatus.Int());    
+	
+	// prepare response and complete
+	TInt usedEntries(12);
+	TMockLtsyPhoneBookData1< TInt > styData2(nameS9, usedEntries);
+	data2.Close();    
+	styData2.SerialiseL(data2);
+	iMockLTSY.CompleteL(EMmTsyPhoneBookStoreGetInfoIPC, KErrNone, data2, 10);
+   
+	User::WaitForRequest(requestStatus); // GetInfo
+   	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+ 
+ 	// check that returned values are correct
+    ASSERT_TRUE(0 == bookInfo.iName.Compare(nameS9));
+    ASSERT_EQUALS(usedEntries, bookInfo.iUsedEntries);	
+    ASSERT_EQUALS(-1, bookInfo.iTotalEntries);	
+    ASSERT_EQUALS(50, bookInfo.iMaxTextLength);	
+    ASSERT_EQUALS(50, bookInfo.iMaxNumLength);	
+    ASSERT_EQUALS(RMobilePhoneBookStore::ELocationIccMemory, bookInfo.iLocation);	
+    ASSERT_EQUALS((TUint16)0, bookInfo.iChangeCounter);	
+    ASSERT_EQUALS((TUint32)RMobilePhoneStore::KCapsReadAccess, bookInfo.iCaps);
+    
+   	
+   	// final check and cleanup
+   	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(8, this); // data, data2, this...
+    }
 
 void CCTsyPhoneBookStoreFU::AuxGetInfo2L(const TDesC& aName)
     {
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsysmsmessagingfu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsysmsmessagingfu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -3017,11 +3017,9 @@
 
     User::WaitForRequest(reqStatus);
 
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 360701);
-    //SetReceiveModeCancel() is never called, the request cancel can't be completed
-    // Remove the function and correct comment in mm_messaging.cpp
-
-    ASSERT_EQUALS(KErrCancel, reqStatus.Int());
+    // Since SetReceiveMode completes without any delays, the cancel will not have any effect.
+    // The CMmSmsTsy::SetReceiveModeCancel should be removed from the code in the next cleanup, since it never been called.
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());
 
     AssertMockLtsyStatusL();
 
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsysubscriberinfofu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsysubscriberinfofu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -586,8 +586,13 @@
 
 	User::WaitForRequest(reqStatus);	
 	// There is no cancel for this ipc, so status is KErrNone
+#ifdef __WINS__
 	ASSERT_EQUALS(KErrCancel, reqStatus.Int());
-
+#else
+	// No support for cancel in hardware. See EMobilePhoneGetServiceTable in CMmPhoneTsy::CancelService.
+	ASSERT_EQUALS(KErrTimedOut, reqStatus.Int());
+#endif
+	
 	AssertMockLtsyStatusL();
 	CleanupStack::PopAndDestroy(this);
 	
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsytelephonyaudiocontrolfu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsytelephonyaudiocontrolfu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -3730,18 +3730,17 @@
     ASSERT_EQUALS( KErrNone, error );
 
     RMobilePhone::TMobileService mobileService2( RMobilePhone::EAuxVoiceService );
-    RMobileCall::TMobileCallParamsV7 callParams2; 
     RMobileCall::TMobileCallInfoV8 callInfo2;   
-    callParams2.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-    callParams2.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-    callParams2.iInterval        = 100;
-    callParams2.iWaitForDialTone = RCall::EDialToneWait;
-    callParams2.iIdRestrict = RMobileCall::EIdRestrictDefault;
-    callParams2.iCug.iExplicitInvoke = EFalse;
-    callParams2.iCug.iCugIndex = 0xFFFF;
-    callParams2.iCug.iSuppressPrefCug = EFalse;
-    callParams2.iCug.iSuppressOA = EFalse;
-    callParams2.iAutoRedial = EFalse;
+    callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+    callParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+    callParams.iInterval        = 100;
+    callParams.iWaitForDialTone = RCall::EDialToneWait;
+    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = EFalse;
+    callParams.iAutoRedial = EFalse;
     callInfo2.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
     callInfo2.iService   = mobileService2;
     callInfo2.iStatus    = RMobileCall::EStatusUnknown;
@@ -3754,7 +3753,7 @@
     callInfo2.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
     callInfo2.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
     callInfo2.iDialledParty.iTelNumber.Copy( KPhoneNumber );    
-    TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> mockData3(0, mobileService2, callParams2, callInfo2);
+    TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> mockData3(0, mobileService2, callParams, callInfo2);
     TMockLtsyCallData0 mockData4(callId, mobileService2);
 
     RCall::TCallParams callParamsX2;
@@ -3809,20 +3808,19 @@
 
     // prepare MockLTSY
     CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-    RMobileCall::TMobileCallInfoV8 callInfo3;
-    callInfo3.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-    callInfo3.iService   = mobileService;
-    callInfo3.iStatus    = RMobileCall::EStatusUnknown;
-    callInfo3.iCallId    =-1;
-    callInfo3.iExitCode  =0; 
-    callInfo3.iEmergency =0;
-    callInfo3.iForwarded =0; 
-    callInfo3.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
-    callInfo3.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
-    callInfo3.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
-    callInfo3.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
-    callInfo3.iDialledParty.iTelNumber.Copy( KPhoneNumber );
-    TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> mockData5(0, mobileService, callParams, callInfo3);
+    callInfo2.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+    callInfo2.iService   = mobileService;
+    callInfo2.iStatus    = RMobileCall::EStatusUnknown;
+    callInfo2.iCallId    =-1;
+    callInfo2.iExitCode  =0; 
+    callInfo2.iEmergency =0;
+    callInfo2.iForwarded =0; 
+    callInfo2.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
+    callInfo2.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
+    callInfo2.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
+    callInfo2.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
+    callInfo2.iDialledParty.iTelNumber.Copy( KPhoneNumber );
+    TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> mockData5(0, mobileService, callParams, callInfo2);
     mockData5.SerialiseL(expectData);
 
     iMockLTSY.ExpectL(EEtelCallDial, expectData);
--- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestapncontrollist.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestapncontrollist.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -1761,6 +1761,10 @@
 	RMobilePhone::TAPNControlListServiceStatus serviceApnControlListStatus=RMobilePhone::EAPNControlListServiceEnabled;
 	TExtEtelRequestStatus setAPNControlListServiceStatus(mobilePhone, EMobilePhoneSetAPNControlListServiceStatus);
 	CleanupStack::PushL(setAPNControlListServiceStatus);
+
+	// Verify PIN2 before accessing APN function
+	iSimTestHelper.VerifyPin2L(mobilePhone, iNetworkTestHelper);
+
 	mobilePhone.SetAPNControlListServiceStatus(setAPNControlListServiceStatus, serviceApnControlListStatus);
 	
 	// Cancel request with RTelSubSessionBase.CancelAsyncRequest( EMobilePhoneSetAPNControlListServiceStatus ); 
@@ -1930,6 +1934,10 @@
 	RMobilePhone::TAPNEntryV3Pckg myAPnEntryPckg(myAPnEntry);
 	TExtEtelRequestStatus getAPNnameStatus(mobilePhone, EMobilePhoneGetAPNname);
 	CleanupStack::PushL(getAPNnameStatus);
+
+	// Verify PIN2 before accessing APN function
+	iSimTestHelper.VerifyPin2L(mobilePhone, iNetworkTestHelper);
+
 	mobilePhone.GetAPNname(getAPNnameStatus,index, myAPnEntryPckg);
 	
 	// Cancel request with RTelSubSession::CancelAsyncRequest( EMobilePhoneGetAPNname ); 
@@ -2016,6 +2024,10 @@
 	RMobilePhone::TAPNEntryV3Pckg myAPnEntryPckg(myAPnEntry);
 	TExtEtelRequestStatus appendAPNNameStatus(mobilePhone, EMobilePhoneAppendAPNName);
 	CleanupStack::PushL(appendAPNNameStatus);
+	
+	// Verify PIN2 before accessing APN function
+	iSimTestHelper.VerifyPin2L(mobilePhone, iNetworkTestHelper);
+
 	mobilePhone.AppendAPNName(appendAPNNameStatus, myAPnEntryPckg);
 	
 	// Cancel request with RTelSubSession::CancelAsyncRequest( EMobilePhoneAppendAPNName ); 
@@ -2099,6 +2111,10 @@
 	TUint32 index=0;
 	TExtEtelRequestStatus deleteAPNNameStatus(mobilePhone, EMobilePhoneDeleteAPNName);
 	CleanupStack::PushL(deleteAPNNameStatus);
+
+	// Verify PIN2 before accessing APN function
+	iSimTestHelper.VerifyPin2L(mobilePhone, iNetworkTestHelper);
+
 	mobilePhone.DeleteAPNName(deleteAPNNameStatus, index);
 	
 	// Cancel request with RTelSubSession::CancelAsyncRequest( EMobilePhoneDeleteAPNName ); 
--- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallcontrol.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallcontrol.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -569,7 +569,7 @@
 	// Check RCall::GetInfo returns valid call name.
 	// Check RCall::GetInfo returns valid voice line name.
 	// Check RCall::GetInfo returns call status of EStatusIdle.
-	// Check RCall::GetInfo returns call duration of 0.
+
 	RCall::TCallInfo callInfo;
 	ASSERT_EQUALS(call1.GetInfo(callInfo), KErrNone,  
 			_L("RCall::GetInfo returned an error"));
@@ -579,8 +579,6 @@
 			_L("RCall::GetInfo returned an invalid  Line name"));
 	ASSERT_EQUALS(callInfo.iStatus, RCall::EStatusIdle,    
 			_L("RCall::GetInfo wrong iStatus, should be EStatusIdle"));
-	ASSERT_EQUALS(callInfo.iDuration.Int(), 0,    
-			_L("RCall::GetInfo wrong iDuration, should be 0"));
 
 	// Check RMobileCall::GetMobileCallInfo returns iValid with correct flags for returned parameters set.
 	// Check RMobileCall::GetMobileCallInfo returns valid call name.
@@ -9090,6 +9088,10 @@
 
 	// Post notification RMobilePhone::NotifyDTMFCapsChange
 	mobilePhone.NotifyDTMFCapsChange(notifyDTMFCapsChangeStatus, dTMFcaps);
+	
+	// Post notifier for RCall::NotifyStatusChange
+	call1.NotifyStatusChange(notifyCallStatusChangeStatus, callStatus);
+	
 	// Resume the call 
 	TExtEtelRequestStatus resumeStatus(call1, EMobileCallResume);
 	CleanupStack::PushL(resumeStatus);
@@ -9177,8 +9179,7 @@
 
 	// ===  Check DTMF caps ===
 
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10024);
-	// Check RMobilePhone::NotifyDTMFCapsChange completes with caps in set of KCapsSendDTMFString | KCapsSendDTMFSingleTone
+    // Check RMobilePhone::NotifyDTMFCapsChange completes with caps in set of KCapsSendDTMFString | KCapsSendDTMFSingleTone
 	TUint32 wantedDtmfCaps = RMobilePhone::KCapsSendDTMFString | RMobilePhone::KCapsSendDTMFSingleTone;
 	iCallControlTestHelper.WaitForMobilePhoneNotifyDTMFCapsChange(
 										mobilePhone,
@@ -12808,14 +12809,11 @@
 
 		if(callToTransfer == &call2)
 			{
-			// There is a Ctsy defect when attempting to transfer call2 (the unheld call), which causes the operation to time-out.
-			ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10052);
 			ASSERT_EQUALS(transferStatus.Int(), KErrNone, _L("RCall::Transfer of call2 returned with an error"));
 			}
 		else
 			{
-			ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10048);
-			ASSERT_EQUALS(transferStatus.Int(), KErrGsmCCFacilityRejected, _L("RCall::Transfer returned an unexpected status"));
+			ASSERT_EQUALS(transferStatus.Int(), KErrNone, _L("RCall::Transfer returned an unexpected status"));
 			}
 		
 		iEtelSessionMgr.ReleaseCall(KMainServer,KMainPhone,KVoiceLine,KCall3);
@@ -13011,6 +13009,7 @@
 	TExtEtelRequestStatus notifyMobileCallStatusChangeStatus (call1, EMobileCallNotifyMobileCallStatusChange);
 	CleanupStack::PushL(notifyMobileCallStatusChangeStatus);
 	RMobileCall::TMobileCallStatus mobileCallStatus;
+	RMobileCall::TMobileCallStatus mobileCallStatus2;
 	call1.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus, mobileCallStatus);
 	
 	// Dial a number that answers. 
@@ -13044,7 +13043,7 @@
 	// Post notifier
 	TExtEtelRequestStatus notifyMobileCallStatusChangeStatus2 (call2, EMobileCallNotifyMobileCallStatusChange);
 	CleanupStack::PushL(notifyMobileCallStatusChangeStatus2);
-	call2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus);
+	call2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus2);
 	
 	// Dial another number that answers. 
 	ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber2, number) != EFalse, _L("CTestStep::GetStringFromConfig did not complete as expected"));
@@ -13058,10 +13057,14 @@
 	expectedMobileCallStatus  = RMobileCall::EStatusConnected;
 	iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call2,
 														                notifyMobileCallStatusChangeStatus2,
-														                mobileCallStatus,
+														                mobileCallStatus2,
 														                expectedMobileCallStatus ,
 														                expectedStatus);
-					
+	
+	// Post notifier
+	call1.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus, mobileCallStatus);
+	call2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus2);
+	
 	// Transfer call 1.
 	TExtEtelRequestStatus getTransferStatus(call1, EMobileCallTransfer);
 	CleanupStack::PushL(getTransferStatus);
@@ -13070,26 +13073,71 @@
 	// Cancel transfer. 
 	phone.CancelAsyncRequest(EMobileCallTransfer);
 	
-	// Check KErrGsmCCFacilityRejected returned.
-	// $CTSYProblem LTSY propagating error -4285(KErrGsmCCFacilityRejected) to CTSY, which is correctly returning it back to client
-	// therefore error code does not indicate an error in the CTSY but rather that the LTSY / network is not supporting the requested operation.
-	// Changed test to check if KErrGsmCCFacilityRejected is returned instead of KErrCancel | KErrNone.
 	ASSERT_EQUALS(WaitForRequestWithTimeOut(getTransferStatus, ETimeMedium), KErrNone, _L("RTelSubSessionBase::CancelAsyncRequest timed-out"));
-	ASSERT_EQUALS(getTransferStatus.Int(), KErrGsmCCFacilityRejected, _L("RMobilePhone::CancelAsyncRequest returned with an incorrect status"));
-	
-	// Hang up call1. 
-	TCoreEtelRequestStatus<RCall> hangUpStatus (call1,&RCall::HangUpCancel);	
-	CleanupStack::PushL(hangUpStatus);
-	call1.HangUp(hangUpStatus);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out"));
-	ASSERT_EQUALS(hangUpStatus.Int(), KErrNone,  _L("RCall::HangUp returned with an error"));
-
-	// Hang up call2. 
-	TCoreEtelRequestStatus<RCall> hangUpStatus2 (call2,&RCall::HangUpCancel);	
-	CleanupStack::PushL(hangUpStatus2);
-	call2.HangUp(hangUpStatus2);	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus2, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out"));
-	ASSERT_EQUALS(hangUpStatus2.Int(), KErrNone,  _L("RCall::HangUp returned with an error"));
+	ASSERT_TRUE((getTransferStatus.Int() == KErrNone) || (getTransferStatus.Int() == KErrCancel), _L("RMobileCall::Transfer did not return KErrNone or KErrCancel"));
+	
+	if(getTransferStatus.Int() == KErrNone)
+	    { // call transfering has not been canceled
+        ERR_PRINTF1(_L("<font color=Orange>TransferCancel didn't succeed</font>"));
+        expectedMobileCallStatus  = RMobileCall::EStatusDisconnecting;
+        iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call1,
+                                                                        notifyMobileCallStatusChangeStatus,
+                                                                        mobileCallStatus,
+                                                                        expectedMobileCallStatus ,
+                                                                        expectedStatus);
+        
+        call1.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus, mobileCallStatus);
+        
+        iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call2,
+                                                                        notifyMobileCallStatusChangeStatus2,
+                                                                        mobileCallStatus2,
+                                                                        expectedMobileCallStatus ,
+                                                                        expectedStatus);
+
+        call2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus2);
+        expectedMobileCallStatus = RMobileCall::EStatusIdle;
+        iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call1,
+                                                                        notifyMobileCallStatusChangeStatus,
+                                                                        mobileCallStatus,
+                                                                        expectedMobileCallStatus ,
+                                                                        expectedStatus);
+        
+        iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call2,
+                                                                        notifyMobileCallStatusChangeStatus2,
+                                                                        mobileCallStatus2,
+                                                                        expectedMobileCallStatus ,
+                                                                        expectedStatus);
+
+        // Check RMobileCall::GetMobileCallStatus returns status of EStatusIdle.
+        ASSERT_EQUALS(call1.GetMobileCallStatus(mobileCallStatus), KErrNone, _L("RMobileCall::GetMobileCallStatus returned an error"));
+        ASSERT_EQUALS(mobileCallStatus, RMobileCall::EStatusIdle, _L("RMobileCall::GetMobileCallStatus did not set call status EStatusIdle as expected"));
+
+        ASSERT_EQUALS(call2.GetMobileCallStatus(mobileCallStatus2), KErrNone, _L("RMobileCall::GetMobileCallStatus returned an error"));
+        ASSERT_EQUALS(mobileCallStatus2, RMobileCall::EStatusIdle, _L("RMobileCall::GetMobileCallStatus did not set call status EStatusIdle as expected"));
+
+	    }
+	else
+	    { // call transfering has been canceled.
+        // Hang up call1. 
+        TCoreEtelRequestStatus<RCall> hangUpStatus (call1,&RCall::HangUpCancel);    
+        CleanupStack::PushL(hangUpStatus);
+        call1.HangUp(hangUpStatus);
+        ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out"));
+        ASSERT_EQUALS(hangUpStatus.Int(), KErrNone,  _L("RCall::HangUp returned with an error"));
+    
+        // Hang up call2. 
+        TCoreEtelRequestStatus<RCall> hangUpStatus2 (call2,&RCall::HangUpCancel);   
+        CleanupStack::PushL(hangUpStatus2);
+        call2.HangUp(hangUpStatus2);    
+        ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus2, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out"));
+        ASSERT_EQUALS(hangUpStatus2.Int(), KErrNone,  _L("RCall::HangUp returned with an error"));
+        
+        // hangUpStatus
+        // hangUpStatus2
+        CleanupStack::PopAndDestroy(2, &hangUpStatus);
+	    }
+	
+	
 	
 	////////////////////////////////////////////////////////////////
 	// TEST END
@@ -13104,9 +13152,8 @@
 	// notifyMobileCallStatusChangeStatus2
 	// dialStatus2
 	// getTransferStatus
-	// hangUpStatus
-	// hangUpStatus2
-	CleanupStack::PopAndDestroy(8, &notifyMobileCallStatusChangeStatus);
+
+	CleanupStack::PopAndDestroy(6, &notifyMobileCallStatusChangeStatus);
 	
 	return TestStepResult();
 	}
@@ -13630,7 +13677,7 @@
     packetService.SetMSClass(setMSClassStatus, RPacketService::EMSClassAlternateMode);
     CHECK_EQUALS_L(WaitForRequestWithTimeOut(setMSClassStatus, ETimeLong), KErrNone, _L("RPacketService::SetMSClass timed out"));
     ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10050);
-	CHECK_TRUE_L(EFalse, _L("This test has been made to leave intentionally as CTSY currently does not support the SetMSClass operation."));		
+//	CTSY currently does not support the SetMSClass operation		
     CHECK_EQUALS_L(setMSClassStatus.Int(), KErrNone, _L("RPacketService::SetMSClass returned an error"));
 
 	// Set the preferred bearer to EBearerPacketSwitched
@@ -13926,10 +13973,18 @@
 	call1.HangUpCancel();
 		
 	// Check hang up is cancelled.
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 50007);
 	ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeShort), KErrNone, _L("RCall::HangUpCancel timed-out"));
-	ASSERT_EQUALS(hangUpStatus.Int(), KErrNotSupported, _L("RCall::HangUpCancel returned with an error"));
-
+	ASSERT_TRUE((hangUpStatus.Int() == KErrNone) || (hangUpStatus.Int() == KErrCancel), _L("RMobileCall::HangUpCancel did not return KErrNone or KErrCancel"));
+	if(hangUpStatus.Int() == KErrNone)
+	    {
+        ERR_PRINTF1(_L("<font color=Orange>HangUpCancel didn't succeed</font>"));
+	    }
+	else
+	    {
+        call1.HangUp(hangUpStatus);
+        ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeShort), KErrNone, _L("RCall::HangUpCancel timed-out"));
+        ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RMobileCall::HangUp did not return KErrNone"));
+	    }
 	////////////////////////////////////////////////////////////////
 	// TEST END
 	////////////////////////////////////////////////////////////////
@@ -14841,20 +14896,20 @@
 	// Check RCall::GetInfo returns valid call name.
 	// Check RCall::GetInfo returns valid voice line name.
 	// Check RCall::GetInfo returns call status of EStatusIdle.
-	// Check RCall::GetInfo returns call duration of 0.
 	RCall::TCallInfo callInfo;
 	ASSERT_EQUALS(call1.GetInfo(callInfo), KErrNone, _L("RCall::GetInfo returned an error"));
 	ASSERT_TRUE(callInfo.iCallName.Length() > 0, _L("RCall::GetInfo returned an invalid call name"));
 	ASSERT_TRUE(callInfo.iLineName.Length() > 0,_L("RCall::GetInfo returned an invalid  line name"));
 	ASSERT_EQUALS(callInfo.iStatus, RCall::EStatusIdle, _L("RCall::GetInfo returned wrong status, should be EStatusIdle"));
-	ASSERT_EQUALS(callInfo.iDuration.Int(), 0, _L("RCall::GetInfo returned a duration other than 0"));
 
 	// Check RMobileCall::GetMobileCallInfo returns iValid with correct flags for returned parameters set.
 	RMobileCall::TMobileCallInfoV1 mobileCallInfo;
 	RMobileCall::TMobileCallInfoV1Pckg callInfoPckg(mobileCallInfo);
 	ASSERT_EQUALS(call1.GetMobileCallInfo(callInfoPckg), KErrNone, _L("RMobileCall::GetMobileCallInfo returned an error"));
-	iCallControlTestHelper.CheckForValidCallInfo(mobileCallInfo, KErrNone, EFalse);
-
+
+	// Check RMobileCall::GetMobileCallInfo returns valid call status.
+	ASSERT_EQUALS(mobileCallInfo.iStatus, RMobileCall::EStatusIdle, _L("RMobileCall::GetMobileCallInfo returned an invalid status"));
+	
 	// Check RMobileCall::GetMobileCallInfo returns valid call name.
 	ASSERT_TRUE(mobileCallInfo.iCallName.Length() > 0, _L("RMobileCall::GetMobileCallInfo returned an invalid call name"));
 	
@@ -15600,13 +15655,10 @@
 	// TEST START
 	////////////////////////////////////////////////////////////////
 	
-	// Check RCall::GetCallDuration returns KErrEtelCallNotActive
-	// $CTSYProblem.  RCall::GetCallDuration returns KErrNone although there is no active call
-	// Got 0, Expected -2007, (KErrEtelCoreBase = -2000 and KErrEtelCallNotActive=KErrEtelCoreBase-7) 
-	TTimeIntervalSeconds duration;
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10055);
-	ASSERT_EQUALS(call1.GetCallDuration(duration), KErrEtelCallNotActive, 
-			_L("RCall::GetCallDuration returned wrong error code, should be KErrEtelCallNotActive"));
+    // Check RCall::GetInfo returns call status of EStatusIdle.
+    RCall::TCallInfo callInfo;
+    ASSERT_EQUALS(call1.GetInfo(callInfo), KErrNone, _L("RCall::GetInfo returned an error"));
+    ASSERT_EQUALS(callInfo.iStatus, RCall::EStatusIdle, _L("RCall::GetInfo returned wrong status, should be EStatusIdle"));
 
 	// post RCall::NotifyCallDurationChange
 	TCoreEtelRequestStatus<RCall> notifyCallDurationChangeStatus(call1, &RCall::NotifyCallDurationChangeCancel);
@@ -17298,7 +17350,7 @@
     ASSERT_EQUALS(getLifeTimeStatus.Int(), KErrNone, _L("RMmCustomAPI::GetLifeTime returned an error"));    
     DEBUG_PRINTF3(_L("Life Time param before the call: hours=%d, min=%d"), lifeTimeData.iHours, lifeTimeData.iMinutes);
     
-    TUint8 minutes = lifeTimeData.iMinutes ;
+    TUint32 lifTimeInMintues = lifeTimeData.iHours * 60 + lifeTimeData.iMinutes;
     
     // Check RPhone::GetLineInfo returns iStatus of EStatusIdle
     RPhone::TLineInfo lineInfo;
@@ -17360,8 +17412,8 @@
         ASSERT_EQUALS(getLifeTimeStatus.Int(), KErrNone, _L("RMmCustomAPI::GetLifeTime returned an error"));    
         DEBUG_PRINTF3(_L("Life Time param after the call: hours=%d, min=%d"), lifeTimeData.iHours, lifeTimeData.iMinutes);   
         
-        minutes++;
-        ASSERT_TRUE( minutes <= lifeTimeData.iMinutes, _L("Life Time was not updated properly") );
+        lifTimeInMintues++;
+        ASSERT_TRUE( lifTimeInMintues <= (lifeTimeData.iHours * 60 + lifeTimeData.iMinutes), _L("Life Time was not updated properly") );
         }
 
     ////////////////////////////////////////////////////////////////
@@ -17369,7 +17421,7 @@
     ////////////////////////////////////////////////////////////////
 
     StartCleanup();
-    CleanupStack::PopAndDestroy(3,&getLifeTimeStatus);
+    CleanupStack::PopAndDestroy(5,&getLifeTimeStatus);
     return TestStepResult();
     }
 
--- a/telephonyserverplugins/common_tsy/test/integration/src/tcallcontroltsytesthelper.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/tcallcontroltsytesthelper.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -1604,14 +1604,15 @@
 	if(aCallInfo.iValid & RMobileCall::KCallDuration)
 		{
 		TTimeIntervalSeconds invalidTime = 0;
-		TTimeIntervalSeconds startTime(aCallInfo.iDuration);
+		TTimeIntervalSeconds callDuration(aCallInfo.iDuration);
 		if(aIsCallConnected)
 		    {
-		    ASSERT_TRUE( startTime > invalidTime, _L("RMobileCall::GetMobileCallInfo set bitmask for KCallDuration to true, but set iDuration to an invalid number"));
+		    ASSERT_TRUE( callDuration > invalidTime, _L("RMobileCall::GetMobileCallInfo set bitmask for KCallDuration to true, but set iDuration to an invalid number"));
 		    }
 		else
 		    {
-		    ASSERT_EQUALS( startTime.Int(), invalidTime.Int(), _L("RMobileCall::GetMobileCallInfo set bitmask for KCallDuration to true, but set iDuration to an invalid number"));
+		    // Note: This value contains previous call duration since it is not connected, can be 0 or bigger than 0. 
+            ASSERT_TRUE( callDuration >= invalidTime, _L("RMobileCall::GetMobileCallInfo set bitmask for KCallDuration to true, but set iDuration to an invalid number"));
 		    }
 		}
 
@@ -1634,6 +1635,7 @@
 
 	if(aCallInfo.iValid & RMobileCall::KCallExitCode)
 		{
+        // Note: iExitCode contains previous call result if it is not connected. 
 		ASSERT_EQUALS( aCallInfo.iExitCode, aRequiredExitCode, _L("RMobileCall::GetMobileCallInfo set bitmask for KCallExitCode to true, but did not set iExitCode to that expected."))
 		}
 
--- a/telephonyserverplugins/common_tsy/test/integration/src/tnetworktsytesthelper.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/tnetworktsytesthelper.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -603,7 +603,8 @@
         aOperatorName = EOperatorSonera;
         }
     else if ( ptrNetworkName.Find(_L("T-Mobile")) >=0 
-            ||  ptrNetworkName.Find(_L("One2One")) >=0)
+            ||  ptrNetworkName.Find(_L("One2One")) >=0
+            ||  ptrNetworkName.Find(_L("TMO UK")) >=0)
         {
         aOperatorName = EOperatorTMobile;
         }
--- a/telephonyserverplugins/common_tsy/test/integration/src/tpacketservicetsytesthelper.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/tpacketservicetsytesthelper.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -724,61 +724,71 @@
 void TPacketServiceTsyTestHelper::GetGprsSettings(RMobilePhone::TMobilePhoneNetworkInfoV1 aInfo, TPtrC& aAccessPoint, TPtrC& aUser, TPtrC& aPassword,TUint aNumber)
 {
     TBuf<200> section;
-    if(aInfo.iShortName.Find(_L("voda")) != KErrNotFound)	//vodafone
+    TPtrC ptrNetworkName;
+    if( aInfo.iShortName.Size() > 0 )
+        {
+        ptrNetworkName.Set(aInfo.iShortName.Ptr(), aInfo.iShortName.Length());
+        }
+    else
+        {
+        ptrNetworkName.Set(aInfo.iDisplayTag.Ptr(), aInfo.iDisplayTag.Length());    
+        }
+    DEBUG_PRINTF2(_L("Current network is %S"), &ptrNetworkName);
+    if(ptrNetworkName.Find(_L("voda")) != KErrNotFound)	//vodafone
 		{
         section.Copy(KIniSectionVodafoneGprs);
 		DEBUG_PRINTF1(_L("Retrieving Vodafone GPRS settings"));
 		}
-	else if(aInfo.iShortName.Find(_L("O2"))	!= KErrNotFound)//O2
+	else if(ptrNetworkName.Find(_L("O2"))	!= KErrNotFound)//O2
 		{
 		DEBUG_PRINTF1(_L("Retrieving O2 GPRS settings"));
         section.Copy(KIniSectionO2Gprs);
 		}
-	else if(aInfo.iShortName.Find(_L("Orange"))!= KErrNotFound)	//Orange
+	else if(ptrNetworkName.Find(_L("Orange"))!= KErrNotFound)	//Orange
 		{
 		DEBUG_PRINTF1(_L("Retrieving Orange GPRS settings"));
         section.Copy(KIniSectionOrangeGprs);
 		}
-	else if((aInfo.iShortName.Find(_L("one2one")) != KErrNotFound)||(aInfo.iShortName.Find(_L("T-Mobile"))	!= KErrNotFound))//TMobile
+	else if((ptrNetworkName.Find(_L("one2one")) != KErrNotFound)||(ptrNetworkName.Find(_L("T-Mobile"))	!= KErrNotFound) || (ptrNetworkName.Find(_L("TMO UK")) != KErrNotFound))//TMobile
 		{
 		DEBUG_PRINTF1(_L("Retrieving TMobile GPRS settings"));
         section.Copy(KIniSectionTMobileGprs);
 		}
-	else if(aInfo.iShortName.Find(_L("Elisa"))!= KErrNotFound)	//Elisa
+	else if(ptrNetworkName.Find(_L("Elisa"))!= KErrNotFound)	//Elisa
 		{
 		DEBUG_PRINTF1(_L("Retrieving Elisa GPRS settings"));
         section.Copy(KIniSectionElisaGprs);
 		}
-	else if(aInfo.iShortName.Find(_L("dna"))!= KErrNotFound)	//DNA
+	else if(ptrNetworkName.Find(_L("dna"))!= KErrNotFound)	//DNA
 		{
 		DEBUG_PRINTF1(_L("Retrieving DNA GPRS settings"));
         section.Copy(KIniSectionDNAGprs);
 		}
-	else if(aInfo.iShortName.Find(_L("SONERA"))!= KErrNotFound)	//SONERA
+	else if(ptrNetworkName.Find(_L("SONERA"))!= KErrNotFound)	//SONERA
 		{
 		DEBUG_PRINTF1(_L("Retrieving Sonera GPRS settings"));
         section.Copy(KIniSectionSoneraGprs);
 
 		}
-	else if(aInfo.iShortName.Find(_L("3 UK")) != KErrNotFound)  // Three
+	else if(ptrNetworkName.Find(_L("3 UK")) != KErrNotFound)  // Three
 		{
 		DEBUG_PRINTF1(_L("Retrieving Three GPRS settings"));
         section.Copy(KIniSectionThreeGprs);
         }
-    if(aInfo.iShortName.Find(_L("NTN")) != KErrNotFound)   // NTN
+	else if(ptrNetworkName.Find(_L("NTN")) != KErrNotFound)   // NTN
         {
         section.Copy(KIniSectionVodafoneGprs);
         DEBUG_PRINTF1(_L("Retrieving NTN GPRS settings"));
         }
-	else if( (aInfo.iShortName.Find(_L("01")) >=0) || 
-			(aInfo.iShortName.Find(_L("ANITE")) >=0) ) // Anite
+	else if( (ptrNetworkName.Find(_L("01")) >=0) || 
+			(ptrNetworkName.Find(_L("ANITE")) >=0) ) // Anite
 		{
 		DEBUG_PRINTF1(_L("Retrieving Anite GPRS settings"));
         section.Copy(KIniSectionVodafoneGprs); // Using vodafone GRPS settings, since Anite should accept any kind
 		}
 	else
 		{
-		DEBUG_PRINTF2(_L("Unable to retrieve network name \"%S\". Using defaults"),&(aInfo.iShortName));
+		DEBUG_PRINTF2(_L("Unable to retrieve network name \"%S\". Using defaults"),&(ptrNetworkName));
         section.Copy(KIniSectionDefaultGprs);
 		}
     if(aNumber!=1)
--- a/telephonyserverplugins/ctsydispatchlayer/test/dispatchertests/dispatchsrc/cctsyphonefu.cpp	Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/ctsydispatchlayer/test/dispatchertests/dispatchsrc/cctsyphonefu.cpp	Wed Apr 14 17:11:46 2010 +0300
@@ -1232,10 +1232,9 @@
 	iPhone.GetFdnStatus(reqStatus,fdnStatus);
 	User::WaitForRequest(reqStatus);
 	ASSERT_EQUALS(reqStatus.Int(), KErrGeneral);
-	ASSERT_EQUALS(compFdnStatus,fdnStatus);
 	AssertMockLtsyStatusL();
 
-	//test the case where the LTSY returns KErrGeneral - synchronous call
+	//test the case where the LTSY returns KErrNone - synchronous call
 	iMockLTSY.ExpectL(MLtsyDispatchPhoneGetFdnStatus::KLtsyDispatchPhoneGetFdnStatusApiId);
 
 	compFdnStatus = RMobilePhone::EFdnNotActive;